Um proxy para uma busca no Scrapy shell
Use os metadados de proxy de um Request dentro do Scrapy shell e inspecione a resposta dessa solicitação configurada.
Dentro do Scrapy shell, construa a solicitação que você quer que o downloader faça:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware lê o valor do proxy nos metadados desse Request. Ele deve estar habilitado na configuração do middleware de download ativo. A variável response depois pertence a esta busca. Para esta URL pública, escolha um endereço HTTP sem autenticação na lista de proxies HTTP se intermediários públicos forem permitidos, e então coloque a URL dele nos metadados de proxy dessa solicitação.
Iniciar o shell a partir do projeto Scrapy permite que ele carregue a configuração desse projeto. Isso seleciona middleware e outras configurações; não escolhe por si mesmo um endpoint de proxy específico. Os metadados da solicitação acima fornecem essa escolha diretamente.
Para um proxy que usa credenciais Basic, o Scrapy documenta as informações do usuário na URL do proxy. Codifique os caracteres reservados nos componentes da conta antes de construí-la. Não é necessário adicionar um cabeçalho Authorization do site para essa conta.
O Scrapy também pode descobrir proxies a partir de suas variáveis de ambiente suportadas. Os metadados de proxy explícitos de uma solicitação têm prioridade. Para uma solicitação deliberadamente direta, um valor de proxy None desativa a seleção baseada no ambiente desse middleware para a solicitação.