2017-03-23 66 views
0

當我在scrapy中運行我的蜘蛛時,手動執行代碼但第一次給出0結果。然而,當我第二次運行它時,它完美地爬行。當我手動執行時,這很好,但是當我在crontab中運行它時,它不會產生任何結果。我得到這個(我刪除的時間數據):在一分鐘內兩次運行相同的crontab

{'downloader/request_bytes': 221, 
'downloader/request_count': 1, 
'downloader/request_method_count/GET': 1, 
'downloader/response_bytes': 116972, 
'downloader/response_count': 1, 
'downloader/response_status_count/200': 1, 
'finish_reason': 'finished', 
'finish_time': datetime.datetime(xxx, x, xxx, xx, xx, xx, xxxx), 
'log_count/DEBUG': 2, 
'log_count/INFO': 7, 
'log_count/WARNING': 1, 
'response_received_count': 1, 
'scheduler/dequeued': 1, 
'scheduler/dequeued/memory': 1, 
'scheduler/enqueued': 1, 
'scheduler/enqueued/memory': 1, 

當我運行手動我得到9個結果:

{'downloader/request_bytes': 4696, 
'downloader/request_count': 10, 
'downloader/request_method_count/GET': 10, 
'downloader/response_bytes': 202734, 
'downloader/response_count': 10, 
'downloader/response_status_count/200': 10, 
'dupefilter/filtered': 9, 
'finish_reason': 'finished', 
'finish_time': datetime.datetime(xxx, x, xx, xx, xx, xx, xxxxxx), 
'item_scraped_count': 9, 
'log_count/DEBUG': 21, 
'log_count/INFO': 8, 
'log_count/WARNING': 1, 
'request_depth_max': 2, 
'response_received_count': 10, 
'scheduler/dequeued': 10, 
'scheduler/dequeued/memory': 10, 
'scheduler/enqueued': 10, 
'scheduler/enqueued/memory': 10, 

什麼我錯了嗎?

而且,如果我在一分鐘內第二次運行相同的crontab作業,它會產生結果嗎?如果是這樣,我該怎麼做?

回答

-1

你可以顯示完整的命令你如何在cron中運行? 也嘗試添加-L DEBUG爬行命令看到更多。

+0

我從終端運行兩次相同的命令。在第一次,我給了我結果1(來自原始問題),第二次給了我結果2(來自原始問題);我運行的代碼是: 「scrapy crawl spiderTest -o CrawlTest1.csv」。同樣的事情也發生在cron中,3-4次它不起作用,然後它產生結果。 –

+0

請運行它scrapy crawl spiderTest -L DEBUG -o CrawlTest1.csv'''並嘗試檢查日誌 – andjelx

+0

這產生了完全相同的結果,我在日誌中找不到任何區別。 –