Erstellen Sie in der Scrapy-Shell die Anfrage, die der Downloader ausführen soll:

from scrapy import Request

fetch(Request(
    "https://www.example.com/",
    meta={"proxy": "http://proxy.example:8080"},
))
response.status

HttpProxyMiddleware liest den Proxy-Wert aus den Metadaten dieses Requests. Er muss in der Konfiguration der aktiven Downloader-Middleware aktiviert sein. Die Variable response danach gehört zu diesem Abruf. Wählen Sie für diese öffentliche URL eine nicht authentifizierte HTTP-Adresse aus der HTTP-Proxy-Liste, sofern öffentliche Vermittler zulässig sind, und tragen Sie deren URL dann in die Proxy-Metadaten dieser Anfrage ein.

Der Start der Shell aus dem Scrapy-Projekt lässt sie die Konfiguration dieses Projekts laden. Damit werden Middleware und andere Einstellungen ausgewählt; sie wählt aber nicht selbst einen bestimmten Proxy-Endpunkt. Die obigen Anfrage-Metadaten liefern diese Wahl direkt.

Bei einem Proxy mit Basic-Anmeldedaten dokumentiert Scrapy die Benutzerinformationen in der Proxy-URL. Kodieren Sie reservierte Zeichen in den Kontobestandteilen, bevor Sie sie aufbauen. Für dieses Konto ist kein Authorization-Header der Website erforderlich.

Scrapy kann Proxys auch aus seinen unterstützten Umgebungsvariablen ermitteln. Explizite Proxy-Metadaten einer Anfrage haben Vorrang. Für eine bewusst direkte Anfrage deaktiviert der Proxy-Wert None die umgebungsbasierte Auswahl dieser Middleware für die Anfrage.

Ähnliche Artikel