Un proxy per un recupero in Scrapy shell
Usa i metadati proxy di un Request dentro Scrapy shell e ispeziona la risposta di quella richiesta configurata.
Dentro Scrapy shell, costruisci la richiesta che vuoi che il downloader esegua:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware legge il valore del proxy dai metadati di quel Request. Deve essere abilitato nella configurazione del middleware di download attivo. La variabile response successiva appartiene a questo recupero. Per questo URL pubblico, scegli un indirizzo HTTP senza autenticazione dalla lista di proxy HTTP se sono ammessi intermediari pubblici, poi inserisci il suo URL nei metadati proxy di quella richiesta.
Avviare la shell dal progetto Scrapy gli consente di caricare la configurazione di quel progetto. Questo seleziona middleware e altre impostazioni; non sceglie da solo un endpoint proxy specifico. I metadati della richiesta sopra forniscono quella scelta direttamente.
Per un proxy che usa credenziali Basic, Scrapy documenta le informazioni utente nell'URL del proxy. Codifica i caratteri riservati nei componenti dell'account prima di costruirlo. Non è necessario aggiungere un'intestazione Authorization del sito web per quell'account.
Scrapy può anche scoprire proxy dalle sue variabili d'ambiente supportate. I metadati proxy espliciti di una richiesta hanno la precedenza. Per una richiesta volutamente diretta, un valore proxy None disabilita la selezione basata sull'ambiente di quel middleware per la richiesta.