一、前言
今天给大家分享的是,Python爬虫里url去重策略及实现。
二、url去重及策略简介
1.url去重
从字面上理解,url去重即去除重复的url,在爬虫中就是去除已经爬取过的url,避免重复爬取,既影响爬虫效率,又产生冗余数据。
2.url去重策略
从表面上看,url去重策略就是消除url重复的方法,常见的url去重策略有五种,如下:
三、看代码,边学边敲边记url去重策略
1.将访问过的ur保存到数据库中(初学使用)
实现起来最简单,但效率最低。
其核心思想是,把页面上爬取到的每个存储到数据库,为了避免重复,每次存储前都要遍历查询数据库中是否已经存在当前(即是否已经爬取过了),若存在,则不保存,否则,保存当前,继续保存下一条,直至结束。
2.将访问过的ur保存到set内存中
将访问过的ur保存到set中,只需要o(1)的代价就可以查询url,取url方便快速,基本不用查询,但是随着存储的url越来越多,占用内存会越来越大。
3.url经过md5缩减到固定长度
MD5使用实例:
4.用 bitmap方法,将访问过的ur通过hash函数映射到某一位
5.bloomfilter方法对 bitmap进行改进,多重hash函数降低冲突
Bloomfilter底层实现:
四、后言
学完这一期,我觉得,是时候拿起高数书,线代书,概率论,离散数学…好好学习数学了,哈哈哈!
附赠:七夕快乐大家。
边敲边学边做,坚持学习分享。
极简XksA
致力于做最简单、最极致的学习分享
领取专属 10元无门槛券
私享最新 技术干货