【Python爬虫】scrapy-redis使用redis-key报错TypeError: crawl() got an unexpected keyword argument ‘spider‘。

目录

1.问题描述

2.问题分析:

3.问题解决:


1.问题描述

如果我在运行 scrapy 之前将启动 url 插入到 redis,则会成功;

但是如果我先运行 scrapy 并插入 url,监听 url 将得到失败信息。

2.问题分析:

scrapy-redis 的版本兼容性问题相关。在新版 Scrapy 中,engine.crawl() 方法的参数列表发生了变化,可能与你使用的 scrapy-redis 版本不兼容。

浏览GitHub才得知: Release notes — Scrapy 2.11.0 documentation

scrapy v2.10.0 不再支持将蜘蛛参数传递给 scrapy.core.engine.ExecutionEngine 的crawl()方法。

3.问题解决:

降级scrapy,且保证推送到redis队列的请求是json格式

pip uninstall scrapy

pip install scrapy == 2.9.0


lpush myspider:start_urls '{"url": "具体url"}

至此,问题解决!!!

如果有不对的地方,或者更好的见解,欢迎在评论区指出和发表!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值