Scrapys HTTP-proxy-middleware læser en proxy fra anmodningens metadata:

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

Erstat dokumentationens slutpunkt, og behold middleware aktiveret. HTTP-proxy-listen tilbyder offentlige kandidater til denne anmodnings URL. Dette vælger anmodningens rute; en proxy-pulje kræver separat udvælgelseslogik.

Godkendelse følger det valgte slutpunkt

Den indbyggede middleware håndterer legitimationsoplysninger, der leveres via dens understøttede proxy-URL og den tilhørende autorisationsheader. Escape reserverede URL-tegn, og undgå at logge den URL.

En separat middleware bør ikke beholde en Basic-header til den forrige proxy, efter at slutpunktet ændres. Lad ét lag styre ruten og dens legitimationsoplysninger sammen.

Valgrækkefølge og standarder

Hvis brugerdefineret downloader-middleware vælger proxyen, skal den køre, før den indbyggede proxy-middleware behandler anmodningen. Kontroller den installerede udgivelses rækkefølge og API; forældede scrapy.contrib-importer hører til ældre udgivelser.

Procesmiljøet kan også levere skemaspecifikke standarder. Brug den dokumenterede særlige adfærd for proxy-metadata til en bevidst direkte anmodning: en manglende nøgle betyder ikke nødvendigvis direkte adgang.

Undersøg det faktiske resultat. En 407 handler om proxygodkendelse, mens en websteds hastighedsbegrænsning eller adgangsnægtelse kan komme, efter at ruten fungerede korrekt.

Relaterede artikler