Î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.

Articole similare