Scrapy - 在蜘蛛运行时获取或刷新统计数据

时间:2016-01-14 20:41:06

标签: python scrapy web-crawler scrapy-spider

有没有办法刷新当前正在运行的抓取的统计信息(抓取的页面/项目)?我进行了很长时间的爬行,偶尔会出现统计数据,但随后会被更多信息迅速推开。如果可能的话,我想定期查看这些统计数据 - 所以我大致知道需要多长时间,或者我是否应该提前完成这些统计数据。

作为其中的一个问题 - 是否有办法杀死蜘蛛,以至于到目前为止爬行的内容仍会输出到指定的输出文件? (-o flag)

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

正如@ kiran.koduru所提到的,你可以使用一个扩展名和twisted的{​​{1}}类来保持给定时间间隔内的统计数据。

例如:

LoopingCall

关于第二个问题,如果你优雅地杀死蜘蛛(一个 CTRL + C ),它应该正确存储文件。否则,您需要提供自己的Feed导出器或扩展名才能将项目直接写入目标文件,而不是在临时文件中缓冲。