Автоматическое решение различных типов капч с использованием CapMonster Cloud и ZennoPoster
Подробная инструкция по использованию интеграции двух мощных и эффективных инструментов для автоматизации любых ваших задач
И простые пользователи, и разработчики зачастую проводят много времени в интернете, выполняя монотонные и рутинные действия. Для быстрой и при этом эффективной работы можно автоматизировать все эти процессы, чтобы они работали “сами по себе”, включая и решение различных капч. Однако в процессе автоматизации данной задачи может появиться множество препятствий и вопросов, главный из которых – как решить проблему защиты от ботов, которая, в свою очередь, не стоит на месте и становится все более сложной. Имея два очень удобных в использовании инструмента, можно забыть про эти препятствия. При этом вам не нужно обладать серьезными знаниями языков программирования и тратить много времени на написание кода. ZennoPoster имеет графический интерфейс для созданий действий. Всё, что вам нужно сделать – это правильно настроить шаблон выполнения под ваши конкретные задачи, и ваш собственный проект будет готов к запуску!
В данной статье мы разберём, что такое ZennoPoster и CapMonster Cloud, как их интегрировать, расскажем о настройках и написании шаблона для авторазгадывания разных типов капчи, покажем реальные примеры их решения, а также предоставим советы и рекомендации по обеспечению надежности интеграции и оптимизации самого процесса.
Обзор ZennoPoster и CapMonster Cloud
ZennoPoster – это целый программный комплекс для разработки, давно зарекомендовавший себя как одно из лучших средств для автоматизации самых разных действий в Интернете, будь то создание аккаунтов, парсинг, заполнение форм или же просто просмотр страниц. Он эмулирует работу человека и даже целой команды. Все, что вы делаете самостоятельно каждый день, он может делать за вас.
CapMonster Cloud – это сервис для автоматического распознавания и решения практически всех видов капч. В отличие от сервисов ручного распознавания, CapMonster Cloud разгадывает капчи методом машинного обучения, то есть с помощью нейросети, которая постоянно обучается и обновляется. Это помогает сэкономить время и средства, ведь таким методом капчи решаются быстрее и дешевле, чем с помощью ручного труда.
Интеграция этих двух мощных помощников повышает скорость и успешность рабочего процесса, при этом сохраняет ваше время для других дел. Вам не нужно заниматься долгой предварительной подготовкой и настройкой, не нужно писать много кода, программа устроена так, чтобы с ней мог справиться обычный пользователь. Ваши боты смогут решать капчи как живой человек, включая ReCaptcha v. 2, ReCaptcha v. 3, в том числе “непростые” hCaptcha и Turnstile.
Итак, приступим к настройке ZennoPoster/Project Maker и CapMonster Cloud и их связке друг с другом.
Настройка CapMonster Cloud и ZennoPoster
Для начала вам нужно скачать ZennoPoster на компьютер (поддерживается только операционная система Windows, всю информацию можете узнать на официальном сайте https://zennolab.com/ru/products/zennoposter/), создать учётную запись и приобрести полную версию, а затем создать аккаунт на CapMonster Cloud:
- Зайдите на сайт https://capmonster.cloud/ru/, нажмите кнопку “Войти”, регистрацию можно осуществить с помощью имеющегося аккаунта Google или через email-пароль;
- Вам откроется панель управления с вашим личным кабинетом для управления аккаунтом, API, балансом и тд.;
- Пополните баланс (минимум $1), всю информацию о ценах и скорости решения вы без труда найдёте на странице;
- Скопируйте API-ключ.
Теперь нужно зайти в ProjectMaker, открыть “Настройки” на начальной странице и выбрать вкладку “Каптчи”. Выберите модуль распознавания капч - CapMonster Cloud, и в поле “Секретный ключ” введите ваш скопированный API-ключ. Перезагрузите программу. Теперь в настройках по умолчанию у вас выбран модуль CapMonster Cloud, там отображается информация о вашем аккаунте CapMonster Cloud и его актуальном балансе:
На этом подключение CapMonster Cloud к ZennoPoster завершено. Теперь вы можете сразу выбирать и использовать этот модуль с уже прописанным вашим API в своих экшенах/действиях.
Решение капч с примерами
ReCaptcha v.2
Давайте создадим небольшой шаблон для автоматического разгадывания капчи. Начнем с ReCaptcha v.2. В ProjectMaker имеется уже готовый “кубик” для решения данного типа капчи, этим мы сейчас и воспользуемся. В решении разнообразных капч вы также можете использовать HTTP-запросы, этот метод мы разберем позже.
- Откройте ProjectMaker, создайте Новый проект;
- Отключите запись действий, добавьте экшен “Очистить куки”;
- В качестве теста мы будем использовать демонстрационный вариант ReCaptcha2 от Google – добавьте экшен “Переход на страницу”, в нем пропишите URL: https://www.google.com/recaptcha/api2/demo;
- Запустите проект, встроенный браузер откроет такую страницу:
5. Нажмите правой кнопкой мыши на пустое окошко возле надписи “I’m not a robot”, выберите действие “В конструктор действий”, нажмите “rise”, событие “click” и добавьте в проект;
6. Далее добавьте экшен “Распознать Recaptcha”:
7. В “Свойствах действия” выберите модуль распознавания CapMonsterCloud.dll и задайте такие настройки (если переменной не существует, ProjectMaker предложит вам создать её автоматически);
- Добавьте действие для кнопки submit – так же, как мы делали для пустого окошка: “В конструктор действий” – “rise” – “click” – “Добавить в проект”;
- Запустите проект и посмотрите, что получится: появляются песочные часы, это означает, что запущен процесс разгадывания капчи:
- Немного подождав, вы увидите зеленую галочку вместо песочных часов – капча решена:
ReCaptcha v.3
Аналогичным образом вы можете добавлять действия для ReCaptcha3. Это такая капча, которая анализирует и определяет по профилю посетителя, человек он или бот, и не требует от пользователя выполнения заданий. Нужно только добавить action и min score (рейтинг профиля посетителя, например, 0.1 – низкий, а 0.9 или 1 – высокий). Если показатель высокий, значит, ваш профиль хорошо “прогрет”, с него велась активность, вызывающая доверие у ReCaptcha3. На сайте https://lessons.zennolab.com/captchas/ вы можете протестировать разные типы капч. Давайте выберем для этой цели ReCaptcha v.3. Заодно вы увидите, какой score у вашего профиля.
- В ProjectMaker создайте новые действия “Очистить куки” и “Перейти на страницу” (вставьте URL: https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta);
- Следующее действие у нас будет “Распознать ReCaptcha”, задайте примерно такие настройки:
3. Запустите проект. Появятся песочные часы, затем зеленая галочка – капча решена;
4. Теперь нужно добавить действие для кнопки “Отправить” (“В конструктор действий”, “rise”, “click”, “Добавить в проект”) и запустить шаблон нажатием кнопки F10:
Также можно разгадывать капчи не через вкладку, а через SiteKey. Это ключ самой капчи, вы можете найти его на целевом сайте в браузере или в ProjectMaker во вкладке “Инструменты web-разработчика”. В содержимом страницы найдите строку с sitekey и сохраните идентификатор:
Дальнейшие действия:
1. В созданном ранее экшене “Распознать ReCaptcha” в свойствах действия смените метод на “Через SiteKey”, введите sitekey и URL-адрес самого сайта:
- Запустите проект, и капча будет решена так же эффективно, как методом “Во вкладке”.
hCaptcha
Данный тип капчи решается так же просто, в ZennoPoster уже имеется для этого готовый экшен. В качестве примера возьмем тестовый демо-вариант капчи на hcaptcha.com. Давайте реализуем это в ProjectMaker:
- Создайте новый шаблон с действий “Очистить куки” и “Перейти на страницу”, пропишите URL: https://accounts.hcaptcha.com/demo;
- Добавьте действие “Распознать hCaptcha”:
3. Добавьте клик на кнопку submit. При запуске проекта вы снова увидите песочные часы. И в итоге такой результат:
Вы также можете реализовать способ решения hCaptcha через sitekey, дописав URL целевого сайта и sitekey. Опции “Начать перехват hCaptcha” и “Остановить перехват hCaptcha” используются для применения autosubmit при решении во вкладке. Перехват необходим для продолжения каких-либо действий на сайте, так как капча может появиться в любой момент и помешать работе скрипта.
Turnstile
Решение этого типа капчи будет немного сложнее, так как готового экшена в ZennoPoster пока нет. Данный вид капчи так же, как и ReCaptcha3, не требует выполнения каких-либо задач от пользователя. Давайте перейдем к созданию шаблона для разгадывания Cloudflare Turnstile:
1. Начните проект с экшена “Обработка переменных” (“Добавить действие” – “Данные” – “Обработка переменных” или воспользуйтесь поиском), в свойствах выберите “Установить значение” и пропишите в значении ваш API-ключ от CapMonster Cloud:
- Очистите куки и перейдите на страницу http://tsmanaged.zlsupport.com/;
- Установите значения для полей login и password в конструкторе действий:
4. Далее вам нужно сформировать POST-запрос на api.capmonster.cloud (“Добавить действие” – “HTTP” – “POST-запрос”) и прописать в нем задачу для запроса. Пример для оформления запроса нужно брать из документации https://docs.capmonster.cloud/ru/docs/captchas/tunrstile-task, предварительно вам необходимо узнать sitekey из сайта, на котором должно будет выполняться решение капчи. Вот так на основе структуры task из документации и данных целевого сайта должны выглядеть поля в свойствах действия (во вкладке “Дополнительно” ничего менять не нужно):
В этом примере мы не используем прокси. Если необходимо, вы можете добавить параметры конкретных прокси, тогда нужно будет использовать тип задачи “TurnstileTask”:
5. Добавьте действие “Обработка JSON/XML” (“Добавить действие” – “Данные” – “Обработка JSON/XML”), в свойствах выберите “парсинг”, тип “Json” и для текста для разбора правой кнопки мыши выберите “Установить значение из переменной”, в нашем случае эта переменная называется “res”:
- Добавьте экшен “Обработка переменных”, в нем установите значение {-Json.taskId-} и создайте новую переменную “tskId”, сюда будет записываться ID задания:
- Поставьте паузу 5 секунд;
- Сформируйте новый POST-запрос для получения результата:
9. Далее парсим результат:
10. Теперь сделайте проверку завершения процесса решения капчи. Добавьте еще два действия в отдельном блоке с логическим если (“Добавить действие” – “Логика” – “If”) и “Обработка переменных”. Поставьте значение '{-Json.errorId-}'=='0' для условия и {-Json.solution.token-} в свойствах действия в “Обработке переменных”, в нем же создайте переменную “token” для хранения полученного токена решения:
11. Поставьте три оповещения (“Добавить действие” – “Логика” – “Оповещение”) в случае разных исходов и соедините их стрелками с условиями (если ответ еще не готов, необходимо будет поставить еще одну паузу 5 секунд в основном блоке), вот так это должно выглядеть:
12. Продолжайте работу в основном блоке. Теперь нужно установить значение токена (“Добавить действие” – “Табы” – “Установка значения”), установите в поле “Что” значение переменной “token”, добавьте тэг “input:hidden”, во вкладке “Дополнительно” выберите “Эмуляция” – “Своя”, введите остальные параметры:
13. Установите клик на кнопку “submit”:
14. И поставьте оповещение об успешном выполнении:
15. Вот так в итоге должен выглядеть весь шаблон:
Запустите проект. Если все сделано правильно, капча будет решена и откроется страница с успешным результатом:
Готовый шаблон можно скачать здесь.
Полезные советы
Вы можете использовать любой другой сайт с похожей формой регистрации и капчи (либо вовсе без формы). Экспериментируйте и пробуйте разные подходы для ваших задач. Если вы все сделали правильно, но появляются ошибки на каком-либо этапе выполнения проекта, проблема может быть в профиле или IP-адресе. Используйте качественные прокси, можно приобретать их в разных местах, а не одним пакетом сразу, прогревайте свои профили и аккаунты (можно использовать специальные программы или шаблоны-прогреваторы), тогда вы с меньшей вероятностью будете встречать сложные капчи, с решением которых ваш скрипт и модуль не всегда смогут справиться.
Также еще хотелось бы добавить про sitekey. В последнее время далеко не всегда можно легко и быстро найти его в коде элемента, владельцы сайтов стараются его маскировать. Помимо поиска в браузере и в инструментах разработчика, можно обратиться к настройкам сайта или в ProjectMaker открыть окно “Трафик” и попробовать найти ключ в запросах.
Также полезными будут некоторые советы:
- Для снижения нагрузки на сервис и повышения производительности и скорости выполнения задач можно использовать кэширование токенов и решений там, где это возможно, например, при повторяющихся капчах на одном сайте;
- Убедитесь, что ваши запросы из ZennoPoster к API CapMonster Cloud правильно настроены и соответствуют требованиям документации CapMonster Cloud;
- Не забывайте отслеживать баланс CapMonster Cloud;
- Просматривайте логи, чтобы исключить возможные ошибки в работе скрипта и разгадывании капч, не лишним будет иметь резервный план работы в случае возникновения каких-либо проблем;
- Используйте шифрование данных и не выкладывайте ваш API-ключ в открытый доступ;
- Обязательно читайте документацию, следите за ее обновлениями и в целом за обновлениями ZennoPoster и CapMonster Cloud, читайте темы на форуме и новости в официальном Telegram-канале.
Итак, в данной статье мы рассмотрели возможности совместной работы ZennoPoster и CapMonster Cloud, настройку программы и ее интеграцию с сервисом, на примерах разобрали решение разных типов капч, создали целый шаблон для разгадывания Turnstile, вникли в процесс и сам принцип работы. Теперь вам стало более понятно и наглядно, что совместное использование этих инструментов при правильной настройке очень эффективно: помогает вам сократить временные затраты, открывает широкие возможности для автоматизации самых разных процессов, делает работу в интернете более стабильной, легкой и приятной. Надеемся, что эта инструкция с примерами помогла вам в решении ваших собственных задач и в реализации личных проектов!
NB: Напоминаем, что продукт используется для автоматизации тестирования на ваших собственных сайтах и на сайтах, к которым у вас есть доступ на законных основаниях.