Dins de Scrapy shell, construïu la sol·licitud que voleu que faci el descarregador:

from scrapy import Request

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

HttpProxyMiddleware llegeix el valor de proxy de les metadades d'aquest Request. Cal que estigui habilitat a la configuració del middleware de descàrrega actiu. La variable response posterior pertany a aquesta consulta. Per a aquest URL públic, trieu una adreça HTTP sense autenticació de la llista de proxys HTTP si es permeten intermediaris públics, i després poseu el seu URL a les metadades de proxy d'aquesta sol·licitud.

Iniciar el shell des del projecte Scrapy li permet carregar la configuració d'aquest projecte. Això tria el middleware i altres paràmetres; no tria per si mateix un punt final de proxy concret. Les metadades de la sol·licitud anteriors forneixen aquesta tria directament.

Per a un proxy amb credencials Basic, Scrapy documenta la informació d'usuari a l'URL del proxy. Codifiqueu els caràcters reservats als components del compte abans de construir-lo. No cal afegir cap capçalera Authorization del lloc web per a aquest compte.

Scrapy també pot descobrir proxys a partir de les seves variables d'entorn admeses. Les metadades de proxy explícites d'una sol·licitud tenen prioritat. Per a una sol·licitud deliberadament directa, un valor de proxy None desactiva la selecció basada en l'entorn d'aquest middleware per a la sol·licitud.

Articles relacionats