网页爬虫抓取百度图片( 一个特别小的爬虫案例!微信推文中的图片 )

优采云 发布时间: 2022-02-22 05:05

  网页爬虫抓取百度图片(

一个特别小的爬虫案例!微信推文中的图片

)

  

  大家好,今天给大家分享一个非常小的爬虫案例!

  在微信推文中抓取图片!!!!

  有人说,这有什么用,,,,万一有人的推特是把一个PPT的内容以图片的形式放上去,你想把它弄下来,那就是爬。

  欢迎关注哔哩哔哩UP主:《我的儿子Q》。

  坚持不懈,努力工作;你和我在一起!为战斗而生!

  相信大家都听说过爬虫技术。一旦你学会了这项技术,你将成为资源老板。这条推文将在以下两个方面展开:

  1、爬虫科学

  2、微信推文中的图片

  

  爬行动物科学的定义

  近年来,爬虫这个词广为流传,还有一个新兴的职位——爬虫工程师。那么什么是爬行动物?

  下面是百度百科的解释:

  网络爬虫(也称为网络蜘蛛、网络机器人,在 FOAF 社区中,更常被称为网页追逐者)是根据一定的规则自动爬取万维网上信息的程序或脚本。其他不太常用的名称是 ant、autoindex、emulator 或 worm。

  大概还是不明白。

  

  其实通俗的说,就是在网络上根据自己的需要,通过相应的技术手段来获取我们需要的数据信息。这个过程称为爬行。

  该网站是API。. .

  我们说网络上的每一个网站都被视为一个API,也就是一个接口,通过它我们可以获取信息和数据。一个网站叫做 URL,这个 URL 就是我们爬取的 API。

  爬虫无非就是以下几个流程:

  1、了解网页

  2、获取网页内容

  3、解析网页并选择需要的内容

  4、保存你想要的

  两个机器人协议

  在爬取之前,你需要知道一些事情:

  1、服务器上的数据是专有的。

  2、网络爬虫数据牟利存在法律风险。

  3、爬虫可能会丢失个人数据。

  许多公司还对爬虫进行了一些预防设置。一般会判断你的访问来源,并尝试判断你是被人访问还是被机器访问,从而做出必要的限制。

  robots协议,也称为robots.txt,是大家都认同的爬虫协议。说白了,就是爬虫的道德标准。很多公司会在它的一些网站上设置robots协议,这个协议会告诉你哪些内容网站允许你抓取,哪些内容不允许抓取。该协议是 网站 根目录中的 robots.txt 文件。京东的机器人协议如下。

  

  首先,我将向大家解释这些的目的。也希望大家都能做一个合法的爬虫,遵守网络道德,做社会主义的接班人。不过普通的小爬虫是允许的,大家可以大胆尝试。

  

  三爬虫框架

  目前爬虫已经有比较成熟的框架和比较成熟的第三方库供大家使用。

  

  上面给出了两个更成熟的爬虫库。下面我们简单介绍一下Requests的使用。

  首先,您需要安装此库。库的安装方法很简单。在 Windows 系统上,以管理员身份运行 cmd 并执行 pip install 请求。

  

  安装好之后就可以测试了。

  

  爬虫的框架如下:

  import requests # 导入requests库def Get_Url_text(URL): # 定义获取相应链接文本的函数 try:# 这里是异常处理机制 r = requests.get(url, timeout=30) # 访问这个链接,并返回一个名为r的对象 r.raise_for_status() # 返回访问的状态,若为200,即为访问成功 r.encoding = r.apparent_encoding # 将网页的编码和头文件的编码改为一致 except: return "产生异常"if __name__ = "main": url = "https://www.Baidu.com" print(Get_Url_text(url))

  

  四个Requests库的一些常用方法

  requests库的七种常用方法

  

  这里有两个对象,一个是访问的url,一个是返回的响应对象,也就是前面代码中的r对象,其中也有返回对象的一些属性。如下表所示。

  

  微信推文爬取图片示例

  简单说一下这里使用的python自带的urllib中的request。但是整体的爬取思路是一样的。还用到了其他一些库,大家可以自行理解。代码和解释如下所示。

  import urllib.requestimport re # 正则表达式库import osimport urllib# 根据给定的网址来获取网页详细信息,得到的html就是网页的源代码def getHtml(url): page = urllib.request.urlopen(url) html = page.read() return html.decode('UTF-8')def getImg(html): reg = r' src="(.+?)" ' # 括号里面就是我们要取得的图片网址 imgre = re.compile(reg) imglist = imgre.findall(html) # 表示在整个网页中过滤出所有图片的地址,放在imglist中 x = 0 path = 'D:\\python_project\\GRASP_pic_from_wechat\\pic' # 将图片保存到D:\\test文件夹中,如果没有test文件夹则创建 if not os.path.isdir(path): os.makedirs(path) paths = path + '\\' # 保存在test路径下 for imgurl in imglist: urllib.request.urlretrieve(imgurl, '{0}{1}.jpg'.format(paths, x)) # 打开imglist中保存的图片网址,并下载图片保存在本地,format格式化字符串 x = x + 1 return imglisthtml = getHtml("https://mp.weixin.qq.com/s/z8phHxzrjeU6HCDdtQdoeQ") # 获取该网址网页详细信息,得到的html就是网页的源代码print(getImg(html)) # 从网页源代码中分析并下载保存图片

  好了,今天的内容就到此结束,希望对大家有所帮助,欢迎点赞转发!!

  发送封面:

  

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线