Зміна проксі не змінює cookie-файли павука автоматично. Це може бути корисно для одного тривалого сеансу й несподівано, коли кілька незалежних сеансів ділять одного павука.

Проміжне програмне забезпечення cookie-файлів Scrapy підтримує окремі банки, що вибираються за метаданими cookiejar запиту. Дайте цьому ключу ту ідентичність, яку ви справді маєте намір зберегти:

yield scrapy.Request(
    'https://example.com/start',
    meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)

Кінцева точка й ключ банки — незалежні вибори. Неавтентифікований публічний обхід може взяти обрану ним HTTP-точку зі списку HTTP-проксі там, де цей маршрут дозволено; ключ банки все одно належить процесу. Наступний запит, який має залишитися в цьому сеансі, потребує того самого ключа банки; метадані не прилипають автоматично до кожного нового запиту, який ви створюєте. Передавайте конкретні поля, потрібні процесу, замість сліпого копіювання всіх метаданих проміжного програмного забезпечення.

Використання адреси проксі як ключа банки — лише одна політика

Цей короткий шлях групує стан за кінцевою точкою. Він не обов’язково групує його за особою, обліковим записом чи публічним виходом. Одна точка провайдера може змінювати виходи, і кілька облікових записів можуть використовувати ту саму точку.

Для авторизованого процесу, якому потрібен стабільний стан, записуйте окремо ідентифікатор облікового запису/сеансу, ідентифікатор банки та обраний маршрут. Якщо ви вирішили змінити маршрут на півдорозі, вирішіть також, що має статися із сеансом застосунку.

Окремі банки запобігають випадковому спільному використанню cookie-файлів між визначеними вами групами. Вони не обіцяють, що призначення не зможе пов’язати два запити через обліковий запис чи інші дані застосунку.

Якщо після зміни IP-адрес залишається неправильна сторінка, перевірте, яка банка надіслала запит, перш ніж видаляти всі cookie-файли або замінювати весь пул проксі. Збережений стан цілком може пояснити цю сторінку.

Схожі статті