Verhindern von Scrapy von URL-Codierungsanfragen-URLs

8

Ich möchte, dass Scrapy meine Anfragen nicht URL-codiert. Ich sehe, dass scrapy.http.Request scrapy.utils.url importiert, die w3lib.url importiert, die die Variable _ALWAYS_SAFE_BYTES enthält. Ich muss nur _ALWAYS_SAFE_BYTES eine Reihe von Zeichen hinzufügen, aber ich weiß nicht, wie ich das in meiner Spider-Klasse machen soll.

scrapy.http.Request relevante Zeile:

%Vor%

canonicalize_url stammt aus scrapy.utils.url, relevante Zeile in scrapy.utils.url:

%Vor%

safe_url_string () stammt von w3lib.url, relevante Zeilen in w3lib.url:

%Vor%

in w3lib.url.safe_url_string ():

%Vor%     
flyingtriangle 22.07.2014, 09:46
quelle

1 Antwort

0

Ich wollte nicht [ und ] codieren und das habe ich gemacht.

Beim Erstellen eines Request -Objekts wendet scrapy einige URL-Codierungsmethoden an. Um diese zu ändern, können Sie eine benutzerdefinierte Middleware verwenden und die URL Ihren Bedürfnissen anpassen.

Sie könnten ein Downloader Middleware wie folgt verwenden:

%Vor%

Vergessen Sie nicht, die Middleware in settings.py so zu aktivieren:

%Vor%

Mein Projekt heißt so und im Ordner befindet sich eine Datei middlewares.py . Sie müssen diese an Ihre Umgebung anpassen.

Dank geht an: Frank Martin

    
Umair 27.02.2017 19:44
quelle