Банка cookie-файлов Scrapy принадлежит сеансу, а не прокси автоматически
Выбирайте явную идентичность банки cookie-файлов, когда несколько прокси-процессов делят одного паука, и передавайте эту идентичность в последующие запросы.
Смена прокси не меняет cookie-файлы паука автоматически. Это может быть полезно для одного продолжающегося сеанса и неожиданно, когда несколько независимых сеансов делят одного паука.
Промежуточное ПО cookie-файлов Scrapy поддерживает отдельные банки, выбираемые по метаданным cookiejar запроса. Дайте этому ключу ту идентичность, которую вы действительно намерены сохранить:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
Конечная точка и ключ банки — независимые решения. Неаутентифицированный публичный обход может взять выбранную HTTP-точку из списка HTTP-прокси там, где этот маршрут разрешён; ключ банки всё равно остаётся у процесса. Следующий запрос, который должен остаться в этом сеансе, нуждается в том же ключе банки; метаданные не прилипают автоматически к каждому новому запросу, который вы создаёте. Передавайте конкретные поля, требуемые процессом, вместо слепого копирования всех метаданных промежуточного ПО.
Использование адреса прокси как ключа банки — лишь одна из политик
Этот короткий путь группирует состояние по конечной точке. Он не обязательно группирует его по человеку, учётной записи или публичному выходу. Одна точка провайдера может менять выходы, и несколько учётных записей могут использовать одну и ту же точку.
Для авторизованного процесса, которому нужно стабильное состояние, записывайте отдельно идентификатор учётной записи/сеанса, идентификатор банки и выбранный маршрут. Если вы решили сменить маршрут на полпути, решите также, что должно произойти с сеансом приложения.
Отдельные банки предотвращают случайный обмен cookie-файлами между заданными вами группами. Они не обещают, что получатель не сможет связать два запроса через учётную запись или другие данные приложения.
Если после смены IP-адресов сохраняется неверная страница, проверьте, какая банка отправила запрос, прежде чем удалять все cookie-файлы или заменять весь пул прокси. Сохранённое состояние вполне может объяснить эту страницу.