Как обойти FunCaptcha с помощью Python и 2Captcha
В этом руководстве я покажу, как решать FunCaptcha с помощью Python и API сервиса распознавания капчи 2Captcha.
FunCaptcha — такой тип CAPTCHA, который требует взаимодействия, похожего на человеческое. То есть необходимо не только решить капчу, но и не спровоцировать ее на подозрение к вам (вашему боту), в нечеловеческом поведении. Давайте разберем решение на простые шаги.
Исходный код, а также всю необходимую информацию, можно найти в репозитории 2капчи по ссылке.
Предварительные требования
Для начала убедитесь, что у вас есть установлены:
- Python.
- Необходимые библиотеки Python: seleniumbase, twocaptcha, и requests.
А также есть оплаченный API-ключ 2Captcha (с этим разберетесь самостоятельно).
Для установки требуемых библиотек, выполните команду:
Я выполняю ее в терминале в той папке, в которой у меня установлен скрипт для решения капчи (может это и не обязательно, я делаю так и у меня все работает).
Шаг 1: Настройка Python-окружения
Сначала импортируем необходимые библиотеки для взаимодействия с веб-страницей и решения CAPTCHA:
Описание библиотек:
- seleniumbase: обертка для Selenium, упрощающая автоматизацию браузера.
- twocaptcha: клиент Python для API 2Captcha, который поможет решить CAPTCHA.
- requests: используется для получения необходимых атрибутов для решения FunCaptcha.
Шаг 2: Инициализация API 2Captcha и WebDriver
Настраиваем решатель 2Captcha и Selenium WebDriver. API_KEY берется из переменных окружения. Замените его реальным ключом API (берется из личного кабинет 2капчи, на главной странице):
Параметры:
- uc=True позволяет использовать Undetected ChromeDriver для обхода механизмов обнаружения ботов.
- headless=False включает интерфейс браузера для отладки (можно изменить на True для работы в фоновом режиме).
Шаг 3: Открытие веб-сайта
Загружаем веб-сайт с FunCaptcha. Замените URL на целевой:
Шаг 4: Ввод учетных данных
Если CAPTCHA появляется после входа, вводим учетные данные. Пример с заменой на ваши данные:
Шаг 5: Обнаружение фрейма FunCaptcha
Проверяем наличие FunCaptcha на странице:
Если CAPTCHA найдена, продолжаем к следующему шагу.
Шаг 6: Извлечение атрибутов FunCaptcha
Извлекаем sitekey, surl и data_blob:
Шаг 7: Извлечение данных для решения CAPTCHA
Получаем данные через JavaScript:
Шаг 8: Решение FunCaptcha с помощью API 2Captcha
Отправляем данные в API 2Captcha:
Шаг 9: Вставка решения CAPTCHA
Вставляем решение в соответствующие поля:
Шаг 10: Отправка формы и закрытие браузера
Завершаем процесс:
Устранение неполадок
Проверка API-ключа: Убедитесь, что ваш ключ 2Captcha действителен.
Использование прокси: Если возникают ограничения, применяйте прокси.
Изменения CAPTCHA: При изменении конфигурации сайта обновите код.
Заключение
Следуя этим шагам, вы сможете автоматически решать задачи FunCaptcha с помощью Python и API 2Captcha. Этот метод подходит для различных сайтов, использующих FunCaptcha.