Rakenna Scrapy shellissä pyyntö, jonka haluat lataajan suorittavan:

from scrapy import Request

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

HttpProxyMiddleware lukee välityspalvelimen arvon kyseisen Requestin metatiedoista. Sen on oltava käytössä aktiivisen lataajan middleware-asetuksissa. Muuttuja response kuuluu tämän jälkeen tähän noutoon. Valitse tälle julkiselle URL-osoitteelle tunnistamaton HTTP-osoite HTTP-välityspalvelinluettelosta, jos julkiset välittäjät ovat sallittuja, ja aseta sitten sen URL kyseisen pyynnön välityspalvelimen metatietoihin.

Shellin käynnistäminen Scrapy-projektista antaa sen ladata kyseisen projektin asetukset. Se valitsee middlewaret ja muut asetukset; se ei itse valitse tiettyä välityspalvelimen päätepistettä. Yllä olevat pyynnön metatiedot tarjoavat tämän valinnan suoraan.

Jos välityspalvelin käyttää Basic-tunnuksia, Scrapy dokumentoi käyttäjätiedot välityspalvelimen URL-osoitteessa. Koodaa varatut merkit tilin osissa ennen sen rakentamista. Kyseiselle tilille ei tarvitse lisätä verkkosivuston Authorization-otsaketta.

Scrapy voi löytää välityspalvelimia myös tuetuista ympäristömuuttujistaan. Pyynnön nimenomaisilla välityspalvelimen metatiedoilla on etusija. Tarkoituksellisesti suoraa pyyntöä varten välityspalvelimen arvo None poistaa kyseisen middlewaren ympäristöperusteisen valinnan käytöstä pyynnölle.

Aiheeseen liittyvät artikkelit