Una jarra de cookies de Scrapy pertenece a una sesión, no automáticamente a un proxy
Elija una identidad explícita de jarra de cookies cuando varios flujos con proxy comparten una araña, y lleve esa identidad a las solicitudes posteriores.
Cambiar el proxy no cambia automáticamente las cookies de la araña. Eso puede ser útil para una sesión que continúa y sorprendente cuando varias sesiones independientes comparten la araña.
El middleware de cookies de Scrapy admite jarras separadas seleccionadas por los metadatos cookiejar de la solicitud. Dé a esa clave la identidad que realmente pretende conservar:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
El extremo y la clave de la jarra son elecciones independientes. Un rastreo público no autenticado puede tomar su extremo HTTP elegido de la lista de proxies HTTP donde esa ruta está permitida; el flujo de trabajo sigue siendo dueño de la clave de la jarra. Una solicitud posterior que deba permanecer en esta sesión necesita la misma clave de jarra; los metadatos no se adhieren automáticamente a cada solicitud nueva que cree. Propague los campos concretos que requiere el flujo de trabajo en lugar de copiar a ciegas todos los metadatos del middleware.
Usar la dirección del proxy como clave de la jarra es solo una política
Ese atajo agrupa el estado por extremo. No necesariamente lo agrupa por persona, cuenta o salida pública. Un extremo de proveedor puede rotar salidas y varias cuentas pueden usar el mismo extremo.
Para un flujo de trabajo autorizado que necesita estado estable, anote por separado el identificador de cuenta/sesión, el identificador de jarra y la ruta elegida. Si decide cambiar la ruta a mitad de camino, decida también qué debe ocurrir con la sesión de la aplicación.
Las jarras separadas evitan compartir cookies por accidente entre los grupos que definió. No prometen que un destino no pueda relacionar dos solicitudes mediante una cuenta u otros datos de la aplicación.
Si la página equivocada persiste tras cambiar las IP, inspeccione qué jarra envió la solicitud antes de borrar todas las cookies o reemplazar todo el grupo de proxies. El estado retenido puede explicar la página perfectamente.