我正在使用Python Scrapy工具从网站中提取数据。我使用proc_open()
从我的php代码发射Scrapy。现在我需要维护一个Dashboard类的东西。有没有在Scrapy中获取Crawler详细信息的方法:如何获得Python Scrapy履带式细节?
- Crawler运行所花费的时间。
- 爬虫的启动和停止时间。
- 履带状态(活动或停止)。
- 同时运行的爬行器列表。
我正在使用Python Scrapy工具从网站中提取数据。我使用proc_open()
从我的php代码发射Scrapy。现在我需要维护一个Dashboard类的东西。有没有在Scrapy中获取Crawler详细信息的方法:如何获得Python Scrapy履带式细节?
您的问题可以通过使用扩展来解决。
例如:
时间履带运行采取:这是end time - start time
。你可以在从数据库中读取数据或者在结束时间存储时进行计算。
开始和履带式的停产时间:存储在spider_opened
和spider_closed
方法。
履带状态(活动或停止):你的爬虫是积极的,如果now - last update time
接近5秒。否则,如果最近一次更新是很久以前(30秒,5分钟或更长时间),那么您的蜘蛛或者异常停止或挂起。如果蜘蛛记录有end time
,则爬虫已正确完成。爬行的
名单同时运行:您的前端可以用空的end time
查询的记录。那些蜘蛛将会运行或死亡(如果很久以前last update time
)。
考虑到spider_closed
信号将不会在过程突然完成时调用。您将需要有一个cron作业来清理和/或更新死记录。
不要忘记将扩展名添加到您的settings.py
文件,如:
EXTENSIONS = {
# SpiderDetails class is in the file mybot/extensions.py
'mybot.extensions.SpiderDetails': 1000,
}
@Rho ..感谢有关开发扩展的详细信息..我将按照信息,并让我知道我的进步..谢谢.. – kishan
您可以编写自己的扩展存储要在仪表板中显示任何数据。然后阅读您的应用程序,而不直接与scrapy交互。你需要更详细的答案吗? – Rolando
@Rho。是的更详细的答案将不胜感激。 – kishan
嗨@Rho ..我在等你的详细答案..如果你在这个问题上提供更多的意见,我会非常有帮助。 – kishan