Расчёт размера пула прокси для решения CAPTCHA

Автор: solvethree3 мин на чтение

Рассчитывайте размер пула по числу одновременно выполняемых процессов решения и отправки, а не по числу потоков приложения. Сохраняйте закреплённый прокси каждого процесса до отправки на целевой сайт; получение готового токена — не момент для освобождения или смены прокси.

На этой странице

Начните с четырёх закреплённых назначений

Для четырёх активных логических процессов начните с четырёх назначений прокси-сессий. Каждая работа использует назначенную сессию и для решения, и для отправки на целевой сайт, затем оперативно отправляет решение с возвращёнными данными идентификации браузера.

Пример · четыре активных логических потока
[
  {
    "job": 1,
    "proxyEnvironmentVariable": "PROXY_SESSION_1",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 2,
    "proxyEnvironmentVariable": "PROXY_SESSION_2",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 3,
    "proxyEnvironmentVariable": "PROXY_SESSION_3",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  },
  {
    "job": 4,
    "proxyEnvironmentVariable": "PROXY_SESSION_4",
    "reuseFor": "solve and target submission",
    "resultHandling": "submit promptly with returned browser identity"
  }
]

Это сопоставление четырёх работ четырём сессиям, а не обязательно четырём разным IP. Это не универсальное правило «один IP на поток» и не измеренный предел ёмкости. Потоку, который не выполняет процесс решения и отправки, отдельное назначение не требуется.

Если ваш провайдер прокси меняет выходные IP, используйте его механизм сессий или закрепления IP, чтобы решение и отправка выполнялись с одного выходного IP. Одни лишь четыре переменные окружения этого не обеспечивают. Отправляйте решение через сработавший прокси с его userAgent и secChUa, а не подставляйте обычные браузерные заголовки вашего приложения.

Кандидаты — это альтернативы, а не дополнительные слоты для решения

Запрос reCAPTCHA принимает ровно один из параметров: proxy или proxyCandidates. Список кандидатов может содержать до двенадцати различных URL HTTP- или HTTPS-прокси без пути, строки запроса и фрагмента. Это альтернативные точки выхода для одной задачи, а не параллельный пакет: четыре задания с двенадцатью кандидатами в каждом по-прежнему представляют четыре логических потока, а не 48 решений.

При использовании кандидатов сохраняйте исходный массив. Для reCAPTCHA solution.egressAttempts указывает успешного кандидата по его индексу, начиная с единицы. Прежде чем выбирать прокси для отправки, убедитесь, что это целое число от 1 до длины массива включительно. Если значение отсутствует или некорректно, остановитесь, а не пытайтесь угадать.

Лимит кандидатов — не рекомендация по размеру пула, а переключение на запасные варианты не гарантирует рабочую точку выхода. Для сессионных задач требуется один прокси, поэтому не используйте для них списки кандидатов.

Протестируйте схему с четырьмя потоками, прежде чем добавлять IP-адреса

Выполните реальный сценарий работы с целевым сайтом. Для каждого задания запишите несекретную метку прокси-сессии, конечное состояние задачи и ответ целевого сайта. Учитывайте готовность решения отдельно от его принятия целевым сайтом; иначе пул может выглядеть исправным, даже если все отправки завершаются неудачей.

Готовые токены ожидают отправки.

Может ли приложение отправлять результаты с той же скоростью, с которой их выдают четыре активных потока?

Попробуйте: Сократите число одновременных решений до уровня, который приложение может оперативно обрабатывать. Дополнительные прокси-сессии не устранят задержки отправки.

Целевой сайт отклоняет готовое решение.

Использовались ли при отправке успешная точка выхода, возвращённые параметры идентификации браузера и нужный целевой сайт?

Попробуйте: Устраните несоответствия, прежде чем покупать дополнительные IP-адреса. Если всё совпадает, сравните варианты прокси на одном и том же сценарии работы с целевым сайтом; категории «резидентные», «мобильные» или «дата-центровые» сами по себе не подтверждают, что запрос будет принят.

Прокси возвращает HTTP 407.

Проверьте аутентификацию на прокси, включая зарезервированные символы в имени пользователя или пароле.

Попробуйте: Исправьте учётные данные и примените процентное кодирование к их компонентам, а не ко всему URL прокси. Добавление кандидатов не устранит ту же ошибку аутентификации.

Если запуск с четырьмя потоками даёт худшие результаты, чем запуск с меньшим числом одновременных операций, выясните причину различия, прежде чем расширять пул. Когда понадобится больше одновременных потоков, увеличьте число закреплённых назначений, а затем снова сравните результаты полного цикла. Ни рабочее подключение через прокси, ни больший пул не определяют оценку CAPTCHA.

Планируйте расходы на решения и прокси-трафик отдельно

По текущим тарифам с оплатой по факту использования 10,000 готовых задач reCAPTCHA стоят $20 без учёта средств на балансе аккаунта и применимых бонусов. За неудачные решения средства возвращаются. Отклонение целевым сайтом не означает автоматического возврата средств за готовое решение.

Учитывайте расходы на прокси отдельной строкой. Используйте условия тарификации вашего провайдера и объём трафика, измеренный во время того же тестового цикла решения и отправки; количество настроенных сессий или кандидатов не позволяет определить счёт за трафик.

Запустите первую задачу.

Начните с $5 на балансе рабочего пространства.

Создать рабочее пространство
Расчёт размера пула прокси для решения CAPTCHA · solvethree