Scrapy-Redis爬虫报错TypeError: __init__() got an unexpected keyword argument ‘encoding‘

前言

在学习Scrapy-Redis爬虫过程中,将别人的源码导入运行后报错
TypeError: __init__() got an unexpected keyword argument 'encoding'

分析

在爬虫settings.py文件中有如下两个配置

# 调度器启用Redis存储Requests队列
SCHEDULER = "scrapy_redis.scheduler.Scheduler"

# 确保所有的爬虫实例使用Redis进行重复过滤
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

发现将其注释后爬虫可以运行,根据注释的Redis重复过滤,考虑可能是Scrapy布隆过滤器问题。

解决

安装布隆过滤器

pip install scrapy-redis-bloomfilter-block-cluster

打开注释
爬虫正常运行!

  • 13
    点赞
  • 10
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值