scrapy_redis对接布隆过滤器(Bloom Filter)

使用方式:

pip3 install scrapy-redis-bloomfilter

使用的方法和Scrapy-Redis基本相似,在这里说明几个关键配置。

# 去重类,要使用Bloom Filter请替换DUPEFILTER_CLASS
DUPEFILTER_CLASS = "scrapy_redis_bloomfilter.dupefilter.RFPDupeFilter"
# 散列函数的个数,默认为6,可以自行修改
BLOOMFILTER_HASH_NUMBER = 6
# Bloom Filter的bit参数,默认30,占用128MB空间,去重量级1亿
BLOOMFILTER_BIT = 30
  • DUPEFILTER_CLASS是去重类,如果要使用Bloom Filter,则DUPEFILTER_CLASS需要修改为该包的去重类。

  • BLOOMFILTER_HASH_NUMBER是Bloom Filter使用的散列函数的个数,默认为6,可以根据去重量级自行修改。

  • BLOOMFILTER_BIT即前文所介绍的BloomFilter类的bit参数,它决定了位数组的位数。如果BLOOMFILTER_BIT为30,那么位数组位数为2的30次方,这将占用Redis 128 MB的存储空间,去重量级在1亿左右,即对应爬取量级1亿左右。如果爬取量级在10亿、20亿甚至100亿,请务必将此参数对应调高

一定要注意参数!!(爬取数据量级别对应一下 )

项目地址代码:
https://github.com/Python3WebSpider/ScrapyRedisBloomFilter

学习地址:

崔庆才大神的腾讯云+社区:

https://cloud.tencent.com/developer/article/1084962

猜你喜欢

转载自blog.csdn.net/xudailong_blog/article/details/80490390