В Crawlee 3.14 ProxyConfiguration может связать идентификатор сессии с выбранным URL прокси:

import { ProxyConfiguration } from 'crawlee';

const proxies = new ProxyConfiguration({
  proxyUrls: [
    'http://proxy-a.example:8080',
    'http://proxy-b.example:8080',
  ],
});
const first = await proxies.newUrl('checkout-a');
const sameRoute = await proxies.newUrl('checkout-a');
const anotherSession = await proxies.newUrl('checkout-b');

Список HTTP-прокси поставляет публичных кандидатов для proxyUrls. Повторные вызовы с тем же идентификатором сессии возвращают связанный с ним URL. Без идентификатора сессии переданный список переключается по кругу. Это выбирает настроенную конечную точку; вышестоящий сервис, который меняет выходы за одним URL, по-прежнему управляет собственным поведением выхода.

Для сессий, которыми управляет краулер, используйте пул сессий краулера и схему сохранения cookie. Снижение maxConcurrency до единицы не заменяет определение того, какие запросы относятся к одной сессии.

Вывод сессии из эксплуатации создаёт новую границу идентичности. Поддерживайте её маршрут, cookie и состояние рабочей нагрузки согласованными, а не меняйте только одно поле во время входа или многошаговой операции.

Основная версия имеет значение. Документация Crawlee по переходу на v4 удаляет аргумент sessionId из newUrl и переносит связывание прокси во владение Session. Пример выше намеренно использует интерфейс v3; не копируйте его аргумент в другую основную версию, не адаптировав этот жизненный цикл.

Похожие статьи