Proxyar per førespurnad med HTTP-proxy-middlewaren til Scrapy
Bruk Scrapy-førespurnadsmetadata og proxy-middlewaren før du kopierer ein gammal tilpassa autentiserings-middleware inn i ein crawler.
HTTP-proxy-middlewaren til Scrapy les ein proxy frå førespurnadsmetadataen:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
Erstatt endepunktet i dokumentasjonen og hald middlewaren aktivert. HTTP-proxy-lista tilbyr offentlege kandidatar for URL-en til denne førespurnaden. Dette vel ruta til førespurnaden; ein proxy-pool treng eigen utvalslogikk.
Autentiseringa følgjer det valde endepunktet
Den innebygde middlewaren handterer legitimasjon som blir levert via den støtta proxy-URL-en og den tilhøyrande autorisasjonsheaderen. Escape reserverte URL-teikn og unngå å logge den URL-en.
Ein separat middleware bør ikkje halde på ein Basic-header for den førre proxyen etter at endepunktet blir endra. Lat eitt lag styre ruta og legitimasjonen hennar saman.
Utvalsrekkjefølgje og standardverdiar
Viss tilpassa downloader-middleware vel proxyen, køyr han før den innebygde proxy-middlewaren handsamar førespurnaden. Kontroller rekkjefølgja og API-et til den installerte versjonen; utdaterte scrapy.contrib-importar høyrer til eldre versjonar.
Prosessmiljøet kan òg levere skjemaspesifikke standardverdiar. For ein medvite direkte førespurnad, bruk den dokumenterte spesielle åtferda til proxy-metadataen: ein manglande nøkkel tyder ikkje nødvendigvis direkte tilgang.
Undersøk det faktiske resultatet. Ein 407 gjeld proxyautentisering, medan ei fartsgrense eller tilgangsnekting frå ein nettstad kan kome etter at ruta fungerte rett.