Un proxy per a una consulta a Scrapy shell
Utilitzeu les metadades de proxy d'un Request dins de Scrapy shell i inspeccioneu la resposta d'aquesta sol·licitud configurada.
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.