有没有办法刷新当前正在运行的抓取的统计信息(抓取的页面/项目)?我进行了很长时间的爬行,偶尔会出现统计数据,但随后会被更多信息迅速推开。如果可能的话,我想定期查看这些统计数据 - 所以我大致知道需要多长时间,或者我是否应该提前完成这些统计数据。
作为其中的一个问题 - 是否有办法杀死蜘蛛,以至于到目前为止爬行的内容仍会输出到指定的输出文件? (-o flag)
任何帮助都将不胜感激。
答案 0 :(得分:2)
正如@ kiran.koduru所提到的,你可以使用一个扩展名和twisted
的{{1}}类来保持给定时间间隔内的统计数据。
例如:
LoopingCall
关于第二个问题,如果你优雅地杀死蜘蛛(一个 CTRL + C ),它应该正确存储文件。否则,您需要提供自己的Feed导出器或扩展名才能将项目直接写入目标文件,而不是在临时文件中缓冲。