如何获取scrapy队列中的请求数?
我scrapy
用来抓取一些网站。如何获取队列中的请求数?
我查看了scrapy
源代码,发现scrapy.core.scheduler.Scheduler
可能导致我的答案。
两个问题:
- 如何访问我的Spider类中的调度程序?
- 在调度程序类中,
self.dqs
和self.mqs
是什么意思?
回答:
这花了我一段时间才能弄清楚,但这是我使用的:
self.crawler.engine.slot.scheduler
那是调度程序的实例。然后,你可以调用__len__()
它的方法,或者如果你只需要对等待的请求为true / false,请执行以下操作:
self.crawler.engine.scheduler_cls.has_pending_requests(self.crawler.engine.slot.scheduler)
请注意,即使队列为空,仍然可能会有正在运行的请求。要检查当前正在运行多少个请求,请使用:
len(self.crawler.engine.slot.inprogress)
以上是 如何获取scrapy队列中的请求数? 的全部内容, 来源链接: utcz.com/qa/433142.html