Scrapy 如何在运行时监控刮擦的状态
我想知道在scrapy运行时发生了什么,如何监控状态?有两种方法。第一种方法,这里是一个来自官方文件的示例Scrapy 如何在运行时监控刮擦的状态,scrapy,scrapyd,Scrapy,Scrapyd,我想知道在scrapy运行时发生了什么,如何监控状态?有两种方法。第一种方法,这里是一个来自官方文件的示例 telnet localhost 6023 >>> est() Execution engine status time()-engine.start_time : 8.62972998619 engine.has_capacity() : False len(engine.downloader.active) : 16 engine.sc
telnet localhost 6023
>>> est()
Execution engine status
time()-engine.start_time : 8.62972998619
engine.has_capacity() : False
len(engine.downloader.active) : 16
engine.scraper.is_idle() : False
engine.spider.name : followall
engine.spider_is_idle(engine.spider) : False
engine.slot.closing : False
len(engine.slot.inprogress) : 16
len(engine.slot.scheduler.dqs or []) : 0
len(engine.slot.scheduler.mqs) : 92
len(engine.scraper.slot.queue) : 0
len(engine.scraper.slot.active) : 0
engine.scraper.slot.active_size : 0
engine.scraper.slot.itemproc_size : 0
engine.scraper.slot.needs_backout() : False
有关更多信息,请参阅官方文件
第二种方法似乎更简单一些。您可以通过以下方式获取爬虫的状态:
self.crawler.stats.get_stats()
or
spider.crawler.stats.get_stats()
因此,只需打印出您喜欢的状态。还有一个第三方扩展来监控刮擦状态
该项目使用StatcollectorMiddleware来存储对redis的当前请求的状态。还有一个网络服务。谢谢。公文中有“web服务”,您知道如何启用吗?默认启用。但如果您不确定,可以通过设置WEBSERVICE_ENABLED=True显式启用