Um jarro de cookies do Scrapy pertence a uma sessão, não automaticamente a um proxy
Escolha uma identidade explícita de jarro de cookies quando vários fluxos com proxy partilham uma aranha, e leve essa identidade para os pedidos seguintes.
Mudar o proxy não muda automaticamente os cookies da aranha. Isso pode ser útil para uma sessão contínua e surpreendente quando várias sessões independentes partilham a mesma aranha.
O middleware de cookies do Scrapy suporta jarros separados selecionados pelos metadados cookiejar do pedido. Dê a essa chave a identidade que realmente pretende preservar:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
O endpoint e a chave do jarro são escolhas independentes. Um rastreio público não autenticado pode retirar o seu endpoint HTTP escolhido da lista de proxies HTTP onde essa rota é permitida; o fluxo de trabalho continua dono da chave do jarro. Um pedido seguinte que deva permanecer nesta sessão precisa da mesma chave de jarro; os metadados não ficam automaticamente colados a cada novo pedido que cria. Propague os campos concretos exigidos pelo fluxo de trabalho em vez de copiar às cegas todos os metadados do middleware.
Usar o endereço do proxy como chave do jarro é apenas uma política
Esse atalho agrupa o estado por endpoint. Não o agrupa necessariamente por pessoa, conta ou saída pública. Um endpoint de fornecedor pode rodar saídas, e várias contas podem usar o mesmo endpoint.
Para um fluxo de trabalho autorizado que necessite de estado estável, registe separadamente o identificador de conta/sessão, o identificador do jarro e a rota escolhida. Se decidir mudar a rota a meio caminho, decida também o que deve acontecer à sessão da aplicação.
Jarros separados impedem a partilha acidental de cookies entre os grupos que definiu. Não prometem que um destino não possa relacionar dois pedidos através de uma conta ou de outros dados da aplicação.
Se a página errada persistir depois de mudar os IPs, inspecione qual jarro enviou o pedido antes de apagar todos os cookies ou substituir todo o conjunto de proxies. O estado retido pode explicar a página perfeitamente.