scrapy_redis 分布式去重配置 - Go语言中文社区

scrapy_redis 分布式去重配置


近期接手别人的爬虫项目,需要改写成分布式的方式部署上服务器,使用srapy_redis完成此项功能,记录下相关的配置信息

 

爬虫文件继承的类名必须更改为scrapy_redis对应的类名,在前面加上Redis即可

去重组件和调度器也需更改:

# DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
# SCHEDULER = "scrapy_redis.scheduler.Scheduler"

此处本人使用的布隆过滤器的去重算法,故注释了以上2行

# 更换去重组件,节省内存(pip3 install scrapy-redis-bloomfilter) 此包由第三方开发人员提供,基于#scrapy_redis,更改了去重类
SCHEDULER = "scrapy_redis_bloomfilter.scheduler.Scheduler"
DUPEFILTER_CLASS = "scrapy_redis_bloomfilter.dupefilter.RFPDupeFilter"
BLOOMFILTER_HASH_NUMBER = 6
# Bit 30-一亿级别的去重数量,大约占用128M内存,可根据自己的需求合理调整该值
BLOOMFILTER_BIT = 30

# 注:每个爬虫默认的去重key为 爬虫类名:dupefilter(例:AilabSpider:dupefilter)
# 每个key直接占用redis 128M内存左右,如果运行多个爬虫,则乘以相应的数量(已采坑)
# 可使用

SCHEDULER_DUPEFILTER_KEY = 'news_data:dupefilter' 

统一设置去重的key,
# 非DUPEFILTER_KEY = 'news_data:dupefilter',开始还以为key是这样设置的,发现设置一直不起作用,追溯到源码中才知道
# 如何设置,以上为爬虫分布式基本功能的实现,后续再深入研究scrapy框架

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_37932636/article/details/84031786
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:17:48
  • 阅读 ( 729 )
  • 分类:Redis

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢