Un proxy pentru o singură preluare în Scrapy shell
Folosiți metadatele proxy ale unui Request în Scrapy shell și inspectați răspunsul acelei cereri configurate.
În Scrapy shell, construiți cererea pe care doriți ca descărcătorul să o execute:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware citește valoarea proxy din metadatele acelui Request. Aceasta trebuie să fie activată în configurația middleware-ului de descărcare activ. Variabila response ulterioară aparține acestei preluări. Pentru acest URL public, alegeți o adresă HTTP fără autentificare din lista de proxy HTTP dacă intermediarii publici sunt permise, apoi plasați URL-ul acesteia în metadatele proxy ale acelei cereri.
Pornirea shell-ului din proiectul Scrapy îi permite să încarce configurația acelui proiect. Aceasta selectează middleware și alte setări; nu alege singură un anumit punct final de proxy. Metadatele cererii de mai sus oferă acea alegere direct.
Pentru un proxy care folosește credențiale Basic, Scrapy documentează informațiile utilizatorului în URL-ul proxy. Codificați caracterele rezervate din componentele contului înainte de a-l construi. Nu este necesar să adăugați un antet Authorization al site-ului pentru acel cont.
Scrapy poate descoperi proxy-uri și din variabilele de mediu acceptate. Metadatele proxy explicite ale unei cereri au prioritate. Pentru o cerere intenționat directă, o valoare de proxy None dezactivează selecția bazată pe mediu a acelui middleware pentru cerere.