Die benutzerdefinierte Downloader-Middleware kann in Scrapy nicht definiert werden

8

Ich versuche eine benutzerdefinierte Downloader-Middleware-Klasse in Scrapy einzurichten. Ich vermute, dass ich etwas offensichtlich übersehen habe, aber ich habe die Dokumente ein paar Mal gelesen und habe keine Lösungen gefunden. Ich bin ein bisschen frustriert von dem, was eine sehr einfache Aufgabe sein sollte, also hoffentlich wird mir jemand einen Einblick geben können.

Ich habe der Datei settings.py folgende Zeile hinzugefügt:

%Vor%

Nachdem ich diese Zeile hinzugefügt und das Projekt ausgeführt habe, wurde ein Fehler bezüglich der nicht vorhandenen Modul-Middlewares angezeigt. Nach einigen Nachforschungen entdeckte ich, dass Sie eine __init__.py Datei zum middlewares Ordner hinzufügen mussten, damit Python sie erkennt. Ich habe dies getan und erhalte nun den folgenden Fehler:

%Vor%

Die Datei TestDownloader.py wird nicht kompiliert, während alle anderen * .py-Dateien im Projekt vorhanden sind. Wenn ich mein Python-Lesen richtig verstehe, heißt das, dass es nirgends importiert wird, aber ich kann keine zusätzlichen Scrapy-Einstellungen finden, die geändert werden müssen, damit dies funktioniert.

    
Jared 06.07.2012, 15:06
quelle

1 Antwort

17
%Vor%

Damit dies funktioniert, erstellen Sie die Datei middlewares.py in myproject und legen Sie in dieser Datei Ihre Downloader-Middleware-Klasse namens TestDownloader .

ab

Wenn Sie middlewares Ordner mit __init__.py darin haben, können Sie Ihre Downloader-Middleware-Klasse namens TestDownloader in __init__.py setzen - das sollte auch funktionieren.

    
warvariuc 06.07.2012, 18:37
quelle

Tags und Links