Ich habe Probleme beim Anrufen einer Scrapy Spinne in meiner Django-Ansicht. Wie kann ich das machen? Ich habe versucht, dieses Tutorial http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/ zu folgen, aber nicht in den Importeinstellungen arbeiten.Wie man Scrapy Spider durch eine Django App ruft
Antwort
Wenn der Fehler herkommt
from scrapy.conf import settings
es wahrscheinlich ist, weil scrapy einfach die Einstellungen nicht erwartet, dass es die Datei finden. Da es in Django üblich ist, settings
für die eigene Konfiguration von django zu verwenden, wäre es am deutlichsten, wenn Sie diesen Begriff nicht verwenden würden.
Sie können Ihre scrapy Einstellungen in Ihrem Django-Einstellungen angeben:
"""settings.py"""
# stuff
SCRAPY_SETTINGS = {
... # put your usual scrapy keys and values here
}
# more stuff
dann statt scrapy.conf.settings
zu importieren, können Sie stattdessen verwenden:
from django.conf import settings
und wo Sie scrapy Einstellungen in Ihrem Skript verweisen , sollten Sie das Argument in CrawlerProcess zu settings.SCRAPY_SETTINGS
ändernWenn Sie weitere Probleme haben, posten Sie bitte den vollständigen Fehler, den Sie bekommen, und den Code für Ihre Ansicht.
Oder alternativ können Sie die Einstellungen erstellen Objekt wie folgt:
from scrapy.settings import Settings
settings = Settings()
settings.setmodule('path.to.scrapy.settings', priority='project')
Bitte senden Sie die vollständige Fehlermeldung. Vielen Dank. – bernie
Verwenden Sie [dynamischer Django-Schaber] (https://github.com/holgerd77/django-dynamic-scraper). –
Dieses Skript ist etwas veraltet und Scrapy hat sich seitdem sehr verändert. Probieren Sie die Antwort auf diese Frage aus: http://stackoverflow.com/questions/14777910/scrap-y-crawl-from-script-always-blocks-script-execution-after-craping – Talvalin