第三次:URL去重策略

一、前言

今天给大家分享的是,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

致力于做最简单、最极致的学习分享

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180817G1UCNB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券