通过计算 start_url 次调用来估计 Scrapy 进度

Estimate Scrapy progress by counting start_url calls

我正在尝试通过计算蜘蛛被调用的次数 start_url 来估计蜘蛛的进度,但我不确定如何检测它。

我意识到它远不能真正衡量当前的进度,因为蜘蛛不知道要抓取的剩余站点有多大。

关于如何获取 start_urls 的执行计数的任何想法?

看来您可以通过使用信号来完成此操作。具体来说,item_scraped 信号允许您在项目被抓取后注册一个事件。对于每个收到的响应,检查 response.url 是否在 start_url 列表中。

scrapy.signals.item_scraped(item, response, spider)

有关 scrapy 文档页面的更多信息:http://doc.scrapy.org/en/latest/topics/signals.html