scrapy请求队列:

Scrapy 如何获取 request 队列?

最近由于在数据量比较大的抓取遇到了一些问题,就想看看运行时的request队列中的url有什么,可是google的很久也没找到获取request队列的api,我查了这么久得出以下结论: 
1.spider运行时的request由schedule控制 
2.可以通过self.crawler.engine.schedule这种方式获取到schedule 

——————————————————————————————————————————

scrapy有两个队列:内存队列 和 磁盘队列. 最简单的办法,设置持久化吧(-s JOBDIR选项),可以通过磁盘队列查看request。

scrapy crawl somespider -s JOBDIR=myspider

运行scrapy后,会在myspider目录下生成 request.queue目录。

作者:junGle
链接:https://www.zhihu.com/question/26990647/answer/35853750
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

——————————————————————————————————————————

用 binux/pyspider · GitHub ,你能更清晰的看到抓取队列和动作

——————————————————————————————————————————

通过 middleware 或是 extension 好像都无法做到,只能hack代码了
scrapy/core/scheduler.py:enqueue_request
打印 self.mqs 和 self.dqs 即可

优雅的解决方案可以看看这个:darkrho/scrapy-redis · GitHub
SCHEDULER 是可以自定义的,这个 scrapy-redis 就可以实时查看 requests 队列内容

作者:IAMSK
链接:https://www.zhihu.com/question/26990647/answer/35560833
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值