O middleware de proxy HTTP do Scrapy lê um proxy dos metadados da requisição:

yield scrapy.Request(
    'https://example.com/',
    callback=self.parse,
    meta={'proxy': 'http://203.0.113.10:8080'},
)

Substitua o endpoint da documentação e mantenha o middleware ativado. A lista de proxies HTTP oferece candidatos públicos para a URL desta requisição. Isso seleciona a rota da requisição; um pool de proxies precisa de lógica de seleção separada.

A autenticação segue o endpoint selecionado

O middleware integrado lida com credenciais fornecidas por meio de sua URL de proxy suportada e do cabeçalho de autorização associado. Escape os caracteres reservados da URL e evite registrar essa URL.

Um middleware separado não deve reter um cabeçalho Basic para o proxy anterior depois que o endpoint muda. Deixe uma única camada gerenciar a rota e suas credenciais juntas.

Ordem de seleção e padrões

Se um middleware de download personalizado escolher o proxy, execute-o antes que o middleware de proxy integrado processe a requisição. Verifique a ordem e a API da versão instalada; importações scrapy.contrib obsoletas pertencem a versões mais antigas.

O ambiente do processo também pode fornecer padrões específicos de esquema. Para uma requisição deliberadamente direta, use o comportamento especial documentado dos metadados proxy: uma chave ausente não significa necessariamente acesso direto.

Inspecione o resultado real. Um 407 diz respeito à autenticação do proxy, enquanto um limite de taxa ou uma negação de acesso do site podem chegar depois que a rota funcionou corretamente.

Artigos relacionados