Scrapys HTTP-proxy-middleware leser en proxy fra forespørselsmetadataene:

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

Erstatt dokumentasjonens endepunkt og hold middlewaren aktivert. HTTP-proxy-listen tilbyr offentlige kandidater for denne forespørselens URL. Dette velger forespørselens rute; en proxy-pool trenger egen utvelgelseslogikk.

Autentiseringen følger det valgte endepunktet

Den innebygde middlewaren håndterer legitimasjon som leveres via den støttede proxy-URL-en og den tilhørende autorisasjonsheaderen. Escape reserverte URL-tegn og unngå å logge den URL-en.

En separat middleware bør ikke beholde en Basic-header for den forrige proxyen etter at endepunktet endres. La ett lag administrere ruten og legitimasjonen sammen.

Utvelgelsesrekkefølge og standarder

Hvis tilpasset downloader-middleware velger proxyen, kjør den før den innebygde proxy-middlewaren behandler forespørselen. Kontroller rekkefølgen og API-et til den installerte versjonen; utdaterte scrapy.contrib-importer tilhører eldre versjoner.

Prosessmiljøet kan også levere skjemaspesifikke standarder. For en bevisst direkte forespørsel, bruk den dokumenterte spesielle atferden til proxy-metadataene: en manglende nøkkel betyr ikke nødvendigvis direkte tilgang.

Undersøk det faktiske resultatet. En 407 gjelder proxyautentisering, mens en nettsteds hastighetsgrense eller tilgangsnektelse kan komme etter at ruten fungerte riktig.

Relaterte artikler