2013-02-13 9 views
6

Mam problem z wywołaniem pająka do scrapy w moim widoku django. Jak mogę to zrobić? Próbowałem wykonać ten samouczek pod tytułem http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/, ale nie działało to w ustawieniach importowania.Jak wywołać Scrapy Spider przez aplikację Django

+1

proszę pisać pełny komunikat o błędzie. Dziękuję Ci. – bernie

+0

Użyj [dynamicznego skrobaka django] (https://github.com/holgerd77/django-dynamic-scraper). –

+2

Ten skrypt jest nieco przestarzały i od tego czasu scrapy bardzo się zmieniły. Wypróbuj odpowiedź na to pytanie: http://stackoverflow.com/questions/14777910/scrapy-crawl-from-script-always-blocks-script-execution-after-scraping – Talvalin

Odpowiedz

2

Jeśli błąd jest pochodzących z

from scrapy.conf import settings 

to prawdopodobne, ponieważ scrapy po prostu nie może znaleźć pliku Ustawienia to spodziewa. Ponieważ w Django zwyczajowo używa się settings dla własnej konfiguracji django, byłoby najwyraźniej, gdybyś nie używał tego terminu.

Można określić ustawienia scrapy ciągu ustawieniach Django:

"""settings.py""" 
# stuff 

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

# more stuff 

Następnie, zamiast importować scrapy.conf.settings, można zamiast tego użyć:

from django.conf import settings 

i gdzie można odwołać ustawienia scrapy w skrypcie , powinieneś zmienić argument na CrawlerProcess na ustawienia.SCRAPY_SETTINGS

self.crawler = CrawlerProcess(settings.SCRAPY_SETTINGS) 

Jeśli masz dalsze problemy, opublikuj pełny błąd i kod widoku.

0

Lub alternatywnie, można utworzyć ustawienia obiektów tak:

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