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.

Artigos relacionados