Scrapys HTTP-Proxy-Middleware liest einen Proxy aus den Anfragemetadaten:

yield scrapy.Request(
    'https://example.com/',
    callback=self.parse,
    meta={'proxy': 'http://203.0.113.10:8080'},
)

Ersetzen Sie den Dokumentationsendpunkt und lassen Sie die Middleware aktiviert. Die HTTP-Proxy-Liste bietet öffentliche Kandidaten für diese Anfrage-URL. Damit wird die Route der Anfrage gewählt; ein Proxy-Pool benötigt eine separate Auswahllogik.

Die Authentifizierung folgt dem gewählten Endpunkt

Die integrierte Middleware verarbeitet Zugangsdaten, die über ihre unterstützte Proxy-URL und den zugehörigen Authorization-Header bereitgestellt werden. Escapen Sie reservierte URL-Zeichen und vermeiden Sie das Protokollieren dieser URL.

Eine separate Middleware sollte nach einem Endpunktwechsel keinen Basic-Header für den vorherigen Proxy behalten. Lassen Sie eine Ebene die Route und ihre Zugangsdaten gemeinsam verwalten.

Auswahlreihenfolge und Standardwerte

Wenn eine benutzerdefinierte Downloader-Middleware den Proxy wählt, führen Sie sie aus, bevor die integrierte Proxy-Middleware die Anfrage verarbeitet. Prüfen Sie Reihenfolge und API der installierten Version; veraltete scrapy.contrib-Importe gehören zu älteren Versionen.

Die Prozessumgebung kann auch schemaabhängige Standardwerte liefern. Für eine bewusst direkte Anfrage verwenden Sie das dokumentierte besondere Verhalten der proxy-Metadaten: Ein fehlender Schlüssel bedeutet nicht zwangsläufig direkten Zugriff.

Prüfen Sie das tatsächliche Ergebnis. Ein 407 betrifft die Proxy-Authentifizierung, während eine Ratenbegrenzung oder Zugriffsverweigerung der Website erst kommen kann, nachdem die Route korrekt funktioniert hat.

Ähnliche Artikel