记录运行蜘蛛爬行所需的总时间


问题内容

我正在使用scrapy抓取网站

我已经编写了蜘蛛程序,并从页面中获取了所有项目,并保存到一个csv文件中,现在我想保存total execution time由scrapy执行的蜘蛛程序文件,实际上是在完成蜘蛛程序执行之后以及在终端上执行该操作时会显示诸如此类的结果starttime, endtime....所以现在在我的程序中,我需要计算scrapy运行spider所花费的总时间,并将总时间存储在某处…。

现在有人可以通过示例让我怎么做........

提前致谢...........


问题答案:

这可能很有用:

from scrapy.xlib.pydispatch import dispatcher
from scrapy import signals
from scrapy.stats import stats
from datetime import datetime

def handle_spider_closed(spider, reason):
    print 'Spider closed:', spider.name, stats.get_stats(spider)
    print 'Work time:', datetime.now() - stats.get_stats(spider)['start_time']


dispatcher.connect(handle_spider_closed, signals.spider_closed)