Un tarro de cookies de Scrapy pertence a unha sesión, non automaticamente a un proxy
Escolla unha identidade explícita de tarro de cookies cando varios fluxos con proxy comparten unha araña, e leve esa identidade ás solicitudes posteriores.
Cambiar o proxy non cambia automaticamente as cookies da araña. Iso pode ser útil para unha sesión que continúa e sorprendente cando varias sesións independentes comparten a araña.
O middleware de cookies de Scrapy admite tarros separados seleccionados polos metadatos cookiejar da solicitude. Dea a esa clave a identidade que realmente pretende conservar:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
O extremo e a clave do tarro son eleccións independentes. Un rastrexo público non autenticado pode tomar o seu extremo HTTP elixido da lista de proxies HTTP onde esa ruta está permitida; o fluxo de traballo segue sendo dono da clave do tarro. Unha solicitude posterior que deba permanecer nesta sesión necesita a mesma clave de tarro; os metadatos non se adhiren automaticamente a cada nova solicitude que cree. Propague os campos concretos que require o fluxo de traballo en lugar de copiar a cegas todos os metadatos do middleware.
Usar o enderezo do proxy como clave do tarro é só unha política
Ese atallo agrupa o estado por extremo. Non necesariamente o agrupa por persoa, conta ou saída pública. Un extremo de provedor pode rotar saídas, e varias contas poden usar o mesmo extremo.
Para un fluxo de traballo autorizado que necesita estado estable, anote por separado o identificador de conta/sesión, o identificador de tarro e a ruta elixida. Se decide cambiar a ruta a metade de camiño, decida tamén que debe ocorrer coa sesión da aplicación.
Os tarros separados evitan compartir cookies por accidente entre os grupos que definiu. Non prometen que un destino non poida relacionar dúas solicitudes mediante unha conta ou outros datos da aplicación.
Se a páxina incorrecta persiste tras cambiar as IP, inspeccione que tarro enviou a solicitude antes de borrar todas as cookies ou substituír todo o conxunto de proxies. O estado retido pode explicar a páxina perfectamente.