2015-07-12 58 views
0

運行我使用下面的代碼運行從一個Python腳本我的履帶式後獲得的返回值:Scrapy 1.0 - 從python腳本

import scrapy 
from scrapy.crawler import CrawlerProcess 

process = CrawlerProcess() 

process.crawl(MySpider) 
process.start() # the script will block here until the crawling is finished 

在我的MySpider返回一個對象。

如何從此獲得返回值?請記住這是Scrapy 1.0。我發現的所有例子都是針對舊版本的Scrapy。

上面的代碼是:http://doc.scrapy.org/en/latest/topics/practices.html#run-scrapy-from-a-script

回答

0

好了,解決辦法是實現自定義項目管道存儲在一個文件中的結果 - 後來讀取結果。

或者,您也可以在Scrapy中配置導出來完成此操作。例如導出的項目在一個名爲results.json文件:

settings.overrides['FEED_FORMAT'] = 'json' 
settings.overrides['FEED_URI'] = 'results.json' 

爲避免你應該使用一個自定義管道類,並在spider_closed信號處理的結果中的臨時文件。

您可以參考這個答案詳細信息:https://stackoverflow.com/a/23574703/3941341

+0

我不想從文件中讀取結果。我想要這個物體。有什麼辦法可以做到嗎? –

+0

請閱讀我鏈接到的答案。它也描述瞭如何做到這一點。 – GHajba

+0

答案是舊版Scrapy。它不適合我。 –