2013-02-13 51 views
6

我在調用django視圖中的scrapy蜘蛛時遇到問題。我怎樣才能做到這一點? 我試圖按照這個教程http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/,但在導入設置中不起作用。如何通過Django應用程序調用Scrapy Spider

+1

請張貼完整的錯誤消息。謝謝。 – bernie 2013-02-13 18:03:55

+0

使用[django動態刮板](https://github.com/holgerd77/django-dynamic-scraper)。 – 2013-02-13 19:10:07

+2

這個腳本有點過時了,scrapy從那以後改變了很多。試試這個問題的答案:http://stackoverflow.com/questions/14777910/scrapy-crawl-from-script-always-blocks-script-execution-after-scraping – Talvalin 2013-02-13 21:42:59

回答

2

如果錯誤是從

from scrapy.conf import settings 

未來很可能是因爲scrapy根本無法找到設置文件它的期待。由於在Django中習慣於使用settings作爲django自己的配置,因此如果不使用該術語,它將會變得最清晰。

您可以將您的Django設置中指定scrapy設置:

"""settings.py""" 
# stuff 

SCRAPY_SETTINGS = { 
    ... # put your usual scrapy keys and values here 
} 

# more stuff 

然後,而不是導入scrapy.conf.settings,您可以改用:

from django.conf import settings 

,並在那裏你在你的腳本中引用scrapy設置,您應該將參數更改爲CrawlerProcess設置.SCRAPY_SETTINGS

self.crawler = CrawlerProcess(settings.SCRAPY_SETTINGS) 

如果您還有其他問題,請發佈您獲得的完整錯誤和您的視圖的代碼。

0

,或者,你可以創建設置對象,像這樣:

from scrapy.settings import Settings 
settings = Settings() 
settings.setmodule('path.to.scrapy.settings', priority='project') 
相關問題