Перейти к основному содержимому

Распознать ReCaptcha

🔗 Оригинальная страница — Источник данного материала


Описание

Позволяет пройти проверку на сайтах с установленной защитой от ботов. Метод подходит только для капч: reCAPTCHA v2, reCAPTCHA v2 Invisible и reCAPTCHA v3.

image-20200817-183343

Как добавить действие в проект?

Через контекстное меню Добавить действиеТабыРаспознать ReCaptcha

image-20200817-184031

Либо воспользуйтесь ❗→ умным поиском.

Для чего это используется?

  • Прохождение регистраций
  • Парсинг сайтов и поисковых систем
  • Выполнение массовых действий

Как работать с экшеном?

Основные настройки

image-20200817-201605

  1. Выбор модуля для распознавания каптчи. Из выпадающего списка необходимо выбрать желаемый сервис распознавания каптчи (предварительно надо указать его ❗→ API ключ в настройках).
  2. ❗→ Настройки капчи сервисов.
  3. Устанавливаем CapMonster.Cloud в качестве сервиса по умолчанию
  4. Регистрация аккаунта в CapMonster.Cloud. Все владельцы лицензии ZennoPoster получают бесплатно 5$ на баланс сервиса для разгадывания капч.

Распознавание reCaptcha v2 во вкладке

Разгадывание происходит непосредственно в окне браузера.

image-20210606-141419

Метод распознавания

Выбираем соответствующую функцию (Распознавание reCaptcha v2) и метод распознавания (Во вкладке)

Использовать прокси проекта

На сервис для распознавания вместе с капчей будет отправлен текущий прокси проекта.

Использовать куки проекта

На сервис для распознавания вместе с капчей будут отправлены текущие куки проекта.

Вкладка

Выбираем на какой вкладке надо распознать капчу:

a) Активная - таб, который у вас в данный момент перед глазами.
b) Первая - первое окно слева.
c) По имени - указать имя таба или переменную учитывая регистр букв.
d) По номеру - задаём номер вкладки. Нумерация идёт слева направо начиная с 0.

Выполнять autosubmit

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

Положить ID задания в переменную

Переменная для идентификатора задания.

Распознавание reCaptcha v2 через sitekey

Процесс происходит без загрузки браузера.

image-20210606-142549

Метод распознавания

Выбираем соответствующую функцию (Распознавание reCaptcha v2) и метод распознавания (Через SiteKey)

Использовать прокси проекта

На сервис для распознавания вместе с капчей будет отправлен текущий прокси проекта.

Использовать куки проекта

На сервис для распознавания вместе с капчей будут отправлены текущие куки проекта.

SiteKey

Recaptcha ключ сайта.

Внимание

Параметр Sitekey индивидуален для каждого сайта

URL

Полный адрес страницы, на которой распознаётся Recaptcha.

data-s

Необязательно

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

Как минимум данный параметр встречается в поиске Google и на его сервисах.

Положить ID задания в переменную

Переменная для идентификатора задания.

Положить в переменную

В указанную здесь переменную сохранится ответ от сервиса распознавания - токен решённой Recaptcha.

Примеры отправки токена

Отправка Token в браузере

После получения *token необходимо подставить его в соответствующее поле.

Ниже рассмотрим как вызвать поле в браузере.

image-20200820-160133

Через контекстное меню вызываем ❗→ Дерево Элементов и находим поле(textarea) для ввода внутри капчи

image-20200820-160416

Правой кнопкой мыши вызываем контекстное меню и нажимаем В конструктор действий

image-20200820-160719

  1. Выбираем атрибут style
  2. Значение выставляем display:block

Через кнопку Тестировать можно проверить в браузере сработает функция или нет. Далее добавляем экшен в проект.

image-20200820-161030

Под самой капчей появится поле куда и нужно вводить *token. Это можно сделать с помощью действия ❗→ Установка значения .

Отправка Token на сервер через запросы

После успешного разгадывания капчи в переменную будет помещен ответ, содержащий *token, для отправки на сервер. Его необходимо подставить в запрос, чаще всего это аргумент g-recaptcha-response.

image-20200818-150431

Пример запроса на сайт всегда можно посмотреть в ❗→ окне трафика

Распознавание reCaptcha v3 во вкладке

Разгадывание происходит непосредственно в окне браузера.

image-20210606-143706

Метод распознавания

Выбираем соответствующую функцию (Распознавание reCaptcha v3) и метод распознавания (Во вкладке)

Использовать прокси проекта

На сервис для распознавания вместе с капчей будет отправлен текущий прокси проекта.

Использовать куки проекта

На сервис для распознавания вместе с капчей будут отправлены текущие куки проекта.

Вкладка

Выбираем на какой вкладке надо распознать капчу:

a) Активная - таб, который у вас в данный момент перед глазами.
b) Первая - первое окно слева.
c) По имени - указать имя таба или переменную учитывая регистр букв.
d) По номеру - задаём номер вкладки. Нумерация идёт слева направо начиная с 0.

Action

Параметр, который необходимо отыскать в исходном коде сайта.

Он находится в коде страницы в вызове функции grecaptcha.execute

image-20200819-143618

Внимание

Индивидуален для каждого сайта!

Min score

Рейтинг пользователя при котором прохождение проверки будет считаться успешным, диапазон от 0.1 до 0.9.

Чаще всего достаточно значения 0.3, но для каждого сайта надо проверять индивидуально.

Положить ID задания в переменную

Переменная для идентификатора задания.

Положить в переменную

В указанную здесь переменную сохранится ответ от сервиса распознавания - токен решённой Recaptcha.

Распознавание reCaptcha v3 через sitekey

Процесс разгадывания происходит без загрузки браузера.

image-20210606-144409

Метод распознавания

Выбираем соответствующую функцию (Распознавание reCaptcha v3) и метод распознавания (Через SiteKey)

Использовать прокси проекта

На сервис для распознавания вместе с капчей будет отправлен текущий прокси проекта.

Использовать куки проекта

На сервис для распознавания вместе с капчей будут отправлены текущие куки проекта.

SiteKey

Recaptcha ключ сайта.

Внимание

Параметр Sitekey индивидуален для каждого сайта

Как получить SiteKey
  • В исходном коде страницы ❗→ DOM

image-20200820-222857

image-20200818-142443

Нажимаем на запрос и переходим во вкладку Параметры

image-20200818-131857

Параметр может называться k или key

URL

Полный адрес страницы, на которой распознаётся Recaptcha.

data-s

Необязательно

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

Как минимум данный параметр встречается в поиске Google и на его сервисах.

Action

Параметр, который необходимо отыскать в исходном коде сайта.

Он находится в коде страницы в вызове функции grecaptcha.execute

image-20200819-141448

Внимание

Индивидуален для каждого сайта!

Min score

Рейтинг пользователя при котором прохождение проверки будет считаться успешным, диапазон от 0.1 до 0.9.

Чаще всего достаточно значения 0.3, но для каждого сайта надо проверять индивидуально.

Положить ID задания в переменную

Переменная для идентификатора задания.

Положить в переменную

В указанную здесь переменную сохранится ответ от сервиса распознавания - токен решённой Recaptcha.

Примечание касательно reCaptcha v3

При загрузке страницы в ❗→ окне трафика очень важно обратить внимание на запрос

image-20200819-141713

  • Если запрос происходит при загрузке страницы, то выбираем распознавание reCaptcha v3 через sitekey.
  • Когда запрос осуществляется после отправки формы на сайт, то распознавание reCaptcha v3 во вкладке.
  • Параметры : SiteKey, Action, Score, Url можно задавать через переменные.
На заметку

Подмена token происходит до отправки запроса

Пример отправки токена reCaptcha v3 при решении во вкладке

Как отправить токен в браузере

Отправка токена в браузере происходит путём его подмены. Способ во вкладке подходит, только когда запрос к Google-будет происходить после отправки формы

image-20200819-142230

Рассмотрим на примере сайта ![](https://lessons.zennolab.com/favicon.ico)reCAPTCHA V3 (Beta)

Во время загрузки сайта не было запроса к капче - значит метод разгадывания во вкладке нам подходит.

image-20210322-115011

Настраиваем кубик для разгадывания ReCaptcha v3

image-20200819-142644

Получаем *token. Далее при помощи ❗→ C# сниппета отправляем его сайту:

var sitekey = project.Variables["имя_переменной_sitekey"].Value;
var newToken = project.Variables["имя_переменной_token"].Value;
var replaceRegex = @"(?<=\[""rresp"","")[^""]+";
instance.ChangeResponse("https://www.google.com/recaptcha/api2/reload\\?k="+sitekey,
new List&lt;string&gt; {replaceRegex}, new List<string> {newToken}, false);

image-20200819-144708

Использование SiteKey в сниппете не является обязательным. Но нужно учитывать, что без использования SiteKey будут перехватываться запросы от всех капч, включая ReCaptcha2.

Если это не является проблемой, вы можете использовать такую версию сниппета:

var newToken = project.Variables["имя_переменной_token"].Value;
var replaceRegex = @"(?&lt;=\[""rresp"","")[^""]+";
instance.ChangeResponse("https://www.google.com/recaptcha/api2/reload\\?k=",
new List&lt;string&gt; {replaceRegex}, new List<string> {newToken}, false);

Отправляем форму на сайте.

image-20210322-115157

В окне трафика можно убедиться, что подмена *token на необходимый произошла

Пример отправки токена reCaptcha v3 при решении через SiteKey

Как подменить token

Если в ❗→ окне трафика видим, что запрос выполняется вместе с загрузкой страницы сайта, то порядок действий отличается от разгадывания во Вкладке

Сначала настраиваем кубик для разгадывания капчи и получаем *token

image-20200819-150311

Получаем *token. Далее при помощи ❗→ C# сниппета отправляем его сайту:

var sitekey = project.Variables["имя_переменной_sitekey"].Value;
var newToken = project.Variables["имя_переменной_token"].Value;
var replaceRegex = @"(?&lt;=\[""rresp"","")[^""]+";
instance.ChangeResponse("https://www.google.com/recaptcha/api2/reload\\?k="+sitekey,
new List&lt;string&gt; {replaceRegex}, new List<string> {newToken}, false);

image-20200819-151254

Использование SiteKey в сниппете не является обязательным. Но нужно учитывать, что без использования SiteKey будут перехватываться запросы от всех капч, включая ReCaptcha2.

Если это не является проблемой, вы можете использовать такую версию сниппета:

var newToken = project.Variables["имя_переменной_token"].Value;
var replaceRegex = @"(?&lt;=\[""rresp"","")[^""]+";
instance.ChangeResponse("https://www.google.com/recaptcha/api2/reload\\?k=",
new List&lt;string&gt; {replaceRegex}, new List<string> {newToken}, false);

Только после этого загружаем страницу с ReCaptcha v3 и производим необходимые действия

Отчет об ошибке

Позволяет вернуть денежные средства в случае неудачной попытки разгадывания капчи.

image-20200819-155444

ID задания указывается статичным значением или через переменную.

Отчет об успехе

Сообщаем сервису об успешном разгадывании капчи.

caEo9nxYKK

ID задания указывается статичным значением или через переменную.

Пример использования

При заходе на страницу антибот система просит подтвердить, что мы не робот.

cat1

  1. Заходим на страницу.
  2. Добавляем в проект экшен разгадать reCaptcha.
  3. Настраиваем кубик.
  4. Проходим проверку сайта.

На сегодняшний момент многие ресурсы пользуются защитой от компании Google. Она помогает сайтам пресекать массовые действия или определять ботов, но благодаря функционалу Zennoposter проходить такие проверки не составит труда.

Полезные ссылки

  1. ❗→ Окно трафика
  2. ❗→ Окно переменных
  3. ❗→ Данные
  4. CapMonster Cloud