我是靠谱客的博主 暴躁世界,最近开发中收集的这篇文章主要介绍python爬取内容重复输出_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天

小帅b要跟你说说增量爬虫

是这样的当你去爬取某个网站的数据时

你会发现这些网站随着时间的推移会更新更多的网页数据

这时候你要爬取的是那些更新的网页数据

而不是又一次爬取整站的内容

对于一些稍微复杂点的网站它们的 url 之间会指来指去

如果你根据 url 的定向去爬取可能会出现这种情况

你的爬虫一直在里面绕圈圈

一直爬取重复的数据

这时候你的爬虫开始陷入了对人生的大思考

那么如何确保爬取的数据不要重复?

接下来就是

学习 python 的正确姿势

有朋友说

那就直接用数据库呗

在爬取前

把 url 存入数据库

下次爬取的时候再到数据库里面查询看下这个 url 是否存在数据库

如果存在那就说明这个 url 之前已经被爬取过了

如果不存在就把 url 保存到数据库中

这种方式虽然可行

但是如果数量一多查询速度就会大大降低

从而影响爬取效率了

其实

python 中有一个我们熟悉的数据结构

set

set 里面的元素是唯一不重复的所以我们可以将 url 塞进去

下次通过 in 来判断就可以了

因为它的平均复杂度为 O(1)

这样就比数据库的操作高效很多了

但是

这种方式有一个问题使用 python 的 set

是作用于内存的

一旦 url 的数量增多

就会很耗内存

不知道你还记得咱们之前说的这个redis

redis 中也有和 Python 相似的 set我们可以使用它来

最后

以上就是暴躁世界为你收集整理的python爬取内容重复输出_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...的全部内容,希望文章能够帮你解决python爬取内容重复输出_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部