龙空技术网

网上动态图有多污?一看吓一跳!Python爬取上万条动态图!

零落一只雁寒 52732

前言:

眼前各位老铁们对“html图片跳动”都比较讲究,我们都想要分析一些“html图片跳动”的相关内容。那么小编同时在网络上收集了一些对于“html图片跳动””的相关文章,希望姐妹们能喜欢,我们一起来学习一下吧!

写在前面的话

夜凉如水,苍穹下,秋叶舞。

天桥下川流不息的斑斓车灯,人来人往的十字街角,喧嚣与繁华的城。

我需要看看小姐姐的图片,好好感受下这世界的温柔以待。

私信小编007或者01即可获取数十套PDF或者零基础入门资料一套哦!

一.思路分析

按照爬虫的基本规律:

1.找到目标

2.抓取目标

3.处理目标内容,获取有用的信息

行动

1.我们的目标是:

这个网站呢,是一个论坛式网站,里面分了几大类,反正试试各种动图。

我们的目标呢,就是找到这(收)些(藏)动(到)图(自)的(己)地(电)址(脑).

2.看看各个模块的网址,有什么规律

对,没错,如果以游客的身份进行访问,那么各个模块的网址就是这样的形式:

开工动手

1.获取入口页面内容

即根据传入的URL,获取整个页面的源码

这里我们使用了webdriver以及PhantomJS这些模块,为什么呢?因为网页是动态加载的,这样可以抓取的数据全一点。

2.获取页码数

这里的页码处理用到了一个模板pq,采用PyQuery的方式查找我们需要的元素,感觉更好处理一点,挺方便的

同时这里的处理稍微有点意思,如果观察这个页面的话,会发现,每个模板的页码,在上面和下面都有一个,然后

我这里截取的一下,因为我们只需要一个页码数字即可

3-6 第三步到第六步一起来说

其实就是根据页码数,来进行遍历,获取到每一页的内容

然后得到每一页中的所有图片地址

在进行获取每一页的内容的时候,需要重新组装页面地址。

有了新的地址,就可以获取当前页面的内容,并进行数据处理,得到每一张图片的地址列表

在获取到图片列表后,再次解析,获取每一张图片的URL

将图片存到本地,以及将数据写入数据库

到这里其实大体的内容已经完成了,我们能够将这个论坛的各个模块的动图保存在本地,同时,也将数据放入数据库中.

数据库的筛选

在完成了将数据放入到数据库的之后, 我想着可以直接通过调用数据库,将图片保存

(为什么有这个想法呢,因为我发现如果直接在主程序中存贮图片,它跑的太慢了,不如将数据都放到数据库中,之后专门调用数据库来贮存图片)

但是这里发现一个问题,数据中的内容挺多的,然后发现了好多内容是重复的,因此我们需要对数据库进行去重

关于数据去重的内容,其实我之前的文章已经写过了(写那篇文章的时候,这个爬虫已经完成了呢~)

主要思路是针对某一个元素的数量进行操作,pymongo里面有一个方法是可以统计指定元素的数量的,如果当前元素只有一个,就不管,不是一个元素,就删除

核心代码如下:

读取数据库中的内容,存储图片

数据去重之后,再次进行图片的存储,就方便多了

之后图片删除了也不用重新跑一遍,核心代码如下:

完整代码

01_get_gif_url.py

02_delete_repeat_url_in_mongodb.py

谢谢阅读!!!

标签: #html图片跳动