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

Работа с CAPTCHA

Для работы и решения капчи в А-Парсере реализованы специальные методы которые позволяют отправлять капчу на разгадывание в сервис по разгадыванию капч используя парсеры:

  • Util::AntiGateUtil::AntiGate - разгадывает каптчи в виде картинок с надписями букв/цифр/слов
  • Util::ReCaptcha2Util::ReCaptcha2 - разгадывает Google ReCaptcha v2
  • Util::ReCaptcha3Util::ReCaptcha3 - разгадывает Google ReCaptcha v3
  • Util::hCaptchaUtil::hCaptcha - разгадывает каптчи hCaptcha
  • Util::TurnstileUtil::Turnstile - разгадывает каптчи Cloudflare Turnstile

Также легко разгадывать CAPTCHA иcпользуя метод await this.parser.request()

Например вызов этого метода для Google ReCaptcha v2 будет выглядеть следующим образом:

await this.parser.request('Util::ReCaptcha2', this.conf.Util_ReCaptcha2_preset, {}, siteKey + ' ' + endPoint);

Детальней можно ознакомиться в примере из каталога Проверка категории сайтов через сервис cyren.com

Детальней про Обход капчи

await this.captcha.*

Работа с каптчей

.recognize(preset, image, type[, overrides])

await this.captcha.recognize(preset, image, type, overrides) - загрузка каптчи для распознавания

  • image - бинарные данные картинки для распознавания
  • preset - указывает на пресет для Util::AntiGateUtil::AntiGate
  • type указывается один из: 'jpeg', 'gif', 'png'

Результатом будет хэш с полями:

  • answer - текст из картинки
  • id - id каптчи, для возможности в дальнейшем сообщить об ошибке через .reportBad
  • error - текстовая ошибка, если answer не задан

.recognizeFromUrl(preset, url[, overrides])

await this.captcha.recognizeFromUrl(preset, url, overrides) - аналогично предыдущему методу, но загрузка каптчи будет выполнятся автоматически по ссылке (url), без использования прокси

.reportBad(preset, id[, overrides])

await this.captcha.reportBad(preset, id, overrides) - сообщить сервису что каптча разгадана неверно