当前位置:首页 > 百科 > 正文

人工智能爬虫(智能爬统计数据)

现在基于python的爬虫实战项目,网络上的资料还是非常多的,但是本节介绍的爬虫略有不同:同样的是下载某个网页的美女图片,不同的是我们这里利用人工智能筛选出漂亮的。爬虫咱们慢慢说,筛选的原理很简单,参考 python实战小项目,人脸检测,让电脑对你的颜值打分 小节。

什么是网络爬虫?

网络爬虫也叫网络蜘蛛(spider),它的官方定义可以去百科查,这里咱们只通俗的说什么是网络爬虫,可能不准确,但是相对更好理解,还是举例说明。

有时候,你可能从某个网页上看到一段信息,觉得非常符合口味,于是动手把它存下来了。这个读取并且存储数据的过程,和一次网络爬虫爬取是类似的。百度,谷歌等搜索引擎,相信大家都用过,它是怎么实现搜索功能的呢?

人工智能爬虫(智能爬统计数据)  第1张

其实全靠爬虫。他们的网络爬虫不停的爬取互联网的信息并且把认为有用的存下来,当用户输入关键词搜索时,百度谷歌把关键词和自己的数据库匹配,把最相关的网页展示给用户,这样就完成了一次搜索。

咱们再设想一个场景:有一天,你可能看到某个网站上很多信息都很好,一个一个网页的打开并且存储真是麻烦死了。那么这个时候就可以借助网络爬虫,甚至把整个网站的信息都爬取下来。这也是爬虫的一个用途。

python网络爬虫

经过上面的解释,可以知道,网络爬虫的行为和咱们使用浏览器的行为很像。那么,这里介绍的python网络爬虫其实就是模拟浏览器的。

人工智能爬虫(智能爬统计数据)  第2张

上图是一组图片,如果咱们想把这些图片都保存下来,一张一张的保存实在太费事了。好像有迅雷可以下载全部链接,但是它会把不该下载的也下载下来,比如红框圈中的那个怪男。

右键,查看网页源代码:

人工智能爬虫(智能爬统计数据)  第3张

得到很多很多字符,咱们只关心图片链接,打开上图红框圈中的链接,得到图片如下:

人工智能爬虫(智能爬统计数据)  第4张

显然图片的链接在网页的源代码中,那么怎么写这个python实战项目,网络爬虫呢?

python实战项目

1. 首先获取网页的源代码

实际上就是模拟浏览器请求那个图片网页的网址。不多说,直接看源码,很简单

人工智能爬虫(智能爬统计数据)  第5张

运行后,会发现刚才咱们在浏览器查看的源代码被打印出来了。

2. python项目实战,提取出图片链接

怎么从一大堆字符里提取出关键的美女图片链接呢?答案是使用正则表达式,关于正则表达式,可以参考:

python基础,什么是正则表达式,正则表达式的使用

使用正则表达式的第一步是找出链接的规律,它在哪些位置出现。这里粗略的试一下:

人工智能爬虫(智能爬统计数据)  第6张

运行实战项目的 python 网络爬虫脚本,发现我们成功了,得到了一系列的图片地址:

人工智能爬虫(智能爬统计数据)  第7张

3. python实战项目,下载图片

得到了图片的链接后,咱们怎么把它们存下来呢?答案就是,再模拟浏览器访问一次图片链接,然后把获得的数据写到文件即可。咱们直接上代码:

人工智能爬虫(智能爬统计数据)  第8张

在执行代码前,先创建一个文件夹 pic 用来存图片,然后执行实战项目python脚本,得到

人工智能爬虫(智能爬统计数据)  第9张

成功了!

4. python实战项目,筛选图片

可以看到,虽然图片被爬取下来了,但并不是完美的,因为怪男也被下载下来了。怎么筛选呢?实际上,可以参考我们前面的博客:

python实战小项目,人脸检测,让电脑对你的颜值打分

咱们只下载 female(女),颜值大于 55 分的,代码如下:

人工智能爬虫(智能爬统计数据)  第10张

人工智能爬虫(智能爬统计数据)  第11张

代码头条展示有点乱,可以点击文章结尾处的“了解更多”。

运行实战项目python脚本,得到结果如下:

人工智能爬虫(智能爬统计数据)  第12张

可以看出,怪男被剔除了,下载的基本都是颜值较高的美女图片,这样我们就完成了实战项目,python 人工智能爬虫 — 选择性的爬取图片。