Bouw binnen Scrapy shell het verzoek dat je wilt dat de downloader uitvoert:

from scrapy import Request

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

HttpProxyMiddleware leest de proxywaarde uit de metadata van dat Request. Het moet ingeschakeld zijn in de configuratie van de actieve downloader-middleware. De variabele response daarna hoort bij deze fetch. Kies voor deze openbare URL een niet-geauthenticeerd HTTP-adres uit de HTTP-proxylijst als openbare tussenpersonen zijn toegestaan, en plaats vervolgens de URL in de proxy-metadata van dat verzoek.

De shell starten vanuit het Scrapy-project laat hem de configuratie van dat project laden. Dat selecteert middleware en andere instellingen; het kiest zelf geen specifiek proxy-eindpunt. De verzoekmetadata hierboven leveren die keuze direct.

Voor een proxy met Basic-inloggegevens documenteert Scrapy gebruikersinformatie in de proxy-URL. Codeer gereserveerde tekens in de accountonderdelen voordat je deze opbouwt. Het is niet nodig om een Authorization-header van de website voor dat account toe te voegen.

Scrapy kan ook proxy's ontdekken uit zijn ondersteunde omgevingsvariabelen. De expliciete proxy-metadata van een verzoek heeft voorrang. Voor een bewust direct verzoek schakelt een proxywaarde van None de op de omgeving gebaseerde selectie van die middleware voor het verzoek uit.

Gerelateerde artikelen