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框架

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值