2012-06-28 122 views
3

運行的蜘蛛,我使用scrapy報廢網站記錄採取在scrapy

我寫了一個蜘蛛抓取從頁面的所有項目,並保存到CSV文件, 現在的總時間我想要保存由scrapy拍攝的total execution time運行蜘蛛文件, 實際上在蜘蛛執行完成後,當我們在終端時它會顯示一些結果 像starttime, endtime等等......所以現在在我的程序中我需要來計算scrapy運行蜘蛛所需的總時間,並將總時間存儲在一些地方......

Can有人讓我現在怎麼通過一個例子做........

在此先感謝...........

回答

4

這可能是有用的:

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) 
+0

這可能對我有幫助,因爲我面臨着同樣的問題,但是我不清楚在哪裏放置這些代碼。你能給我一個提示嗎? – Max

+0

你可以把這段代碼放在任何模塊中,但是必須確保模塊在蜘蛛啓動過程中被導入 – warvariuc

+0

@warwaruk爲什麼不使用'stats.get_stats(spider)['finish_time']'而不是'datetime.now() 「請嗎?那不是更準確嗎? –