2013-02-13 5 views
6

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

+1

Bitte senden Sie die vollständige Fehlermeldung. Vielen Dank. – bernie

+0

Verwenden Sie [dynamischer Django-Schaber] (https://github.com/holgerd77/django-dynamic-scraper). –

+2

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

Antwort

2

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

ändern

Wenn Sie weitere Probleme haben, posten Sie bitte den vollständigen Fehler, den Sie bekommen, und den Code für Ihre Ansicht.

0

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')