概述
今天
小帅b要跟你说说增量爬虫
是这样的当你去爬取某个网站的数据时
你会发现这些网站随着时间的推移会更新更多的网页数据
这时候你要爬取的是那些更新的网页数据
而不是又一次爬取整站的内容
对于一些稍微复杂点的网站它们的 url 之间会指来指去
如果你根据 url 的定向去爬取可能会出现这种情况
你的爬虫一直在里面绕圈圈
一直爬取重复的数据
这时候你的爬虫开始陷入了对人生的大思考
那么如何确保爬取的数据不要重复?
接下来就是
学习 python 的正确姿势
有朋友说
那就直接用数据库呗
在爬取前
把 url 存入数据库
下次爬取的时候再到数据库里面查询看下这个 url 是否存在数据库
如果存在那就说明这个 url 之前已经被爬取过了
如果不存在就把 url 保存到数据库中
这种方式虽然可行
但是如果数量一多查询速度就会大大降低
从而影响爬取效率了
其实
python 中有一个我们熟悉的数据结构
set
set 里面的元素是唯一不重复的所以我们可以将 url 塞进去
下次通过 in 来判断就可以了
因为它的平均复杂度为 O(1)
这样就比数据库的操作高效很多了
但是
这种方式有一个问题使用 python 的 set
是作用于内存的
一旦 url 的数量增多
就会很耗内存
不知道你还记得咱们之前说的这个redis
redis 中也有和 Python 相似的 set我们可以使用它来
最后
以上就是暴躁世界为你收集整理的python爬取内容重复输出_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...的全部内容,希望文章能够帮你解决python爬取内容重复输出_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复