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
6
A
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')
proszę pisać pełny komunikat o błędzie. Dziękuję Ci. – bernie
Użyj [dynamicznego skrobaka django] (https://github.com/holgerd77/django-dynamic-scraper). –
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