使用布隆去重代替scrapy_redis(分布式爬虫)自带的dupefilter

5 篇文章 0 订阅
2 篇文章 0 订阅

使用布隆去重代替scrapy_redis(分布式爬虫)自带的dupefilter

Github下载链接:https://github.com/liyaopinner/BloomFilter_imooc
精简版百度云盘链接: https://pan.baidu.com/s/11a_K_6WTifeHTG8lIY5ckQ 提取码: kq73

  1. 安装mmh3库
    a>使用布隆去重之前需要安装mmh3库,这里我们直接下载已经编译过的mmh3文件
    百度云盘下载链接: https://pan.baidu.com/s/1-MxZkQHd7J4g_nctHPe_Xg 提取码: y6q5
    下载完成之后,解压文件,将这个两个文件复制到现在使用的python环境中
    在这里插入图片描述
    b>例如我现在用的是虚拟环境,放置之后python虚拟环境就相当于安装了该包
    在这里插入图片描述
  2. Bloom文件
    a>如果是在github上下载,需要对源代码进行修改,如果是在百度云盘上下载,因为百度云盘上的代码我已经修改过了,所以直接可以跳到c>步骤
    在这里插入图片描述
    b>复制这两行代码,添加if name == ‘main’,并对__init__函数进行修改
    在这里插入图片描述
    在这里插入图片描述
    c>将修改后的这个py文件放到scrapy_redis文件夹下
    在这里插入图片描述
  3. 修改scrapy_redis中的dupefilter.py
    a>打开scrapy_redis中的dupefilter.py文件,首先导入刚刚修改的布隆去重的包
    在这里插入图片描述
    b>在初始化函数中初始化PyBloomFilter()对象
    在这里插入图片描述
    c>最后找到def request_seen(self, request):这个方法,重写这个方法
    在这里插入图片描述
  4. 到此为止咱们已经将scrapy_redis自带的去重替换成了布隆去重了
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值