Набор действий для обработки капчи

После подключения парсера к сервису распознавания Captcha, и настройки детектирования капчи на загруженных страницах, мы переходим к настройке действий парсера, отвечающих непосредственно за обработку капчи.

Эти действия включают в себя:

  1. извлечение необходимых данных для отправки на сервер решения капчи
    (URL картинки с капчей, или ключа sitekey, и т.п.)
  2. отправка запроса на решение капчи
    (действие Распознать текст Captcha или Решить Google Captcha v.2)
  3. отправка полученного ответа на обрабатываемый сайт для проверки
  4. проверка на стороне парсера, что капча успешно принята сайтом
    (если всё верно настроено, эта проверка не требуется; достаточно в процессе настройки посмотреть ответ сервера в браузере, — там сразу видно, осталась капча на странице, или же сервер выдал «нормальную» страницу без капчи)

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

  1. создаём новый набор действий, и задаём ему имя, ранее указанное на подвкладке Captcha
    Если там было выбрано имя Parser_OnCaptcha, то это имя для набора можно выбрать из выпадающего списка имён:


     

  2. Нажимаем кнопку Редактировать список действий

    и настраиваем действия по извлечению данных из страницы, отправке запроса на решение капчи, и отпраке данных на сервер (POST запрос) для проверки капчи

 

На примере сайта find-org.com, где используется капча в виде текста на картинке, набор действий получается примерно такого вида:

Действие Параметр Значение
HTML: Поиск тегов Тип элемента form
Название проверяемого атрибута name
Значение проверяемого атрибута frm
Тип результата / извлекаемый атрибут innerHTML
HTML: Поиск тегов Тип элемента img
Название проверяемого атрибута  
Значение проверяемого атрибута  
Тип результата / извлекаемый атрибут src_with_prefix 1
Распознать текст Captcha Ссылка на картинку с текстом  
Показывать уведомления yes
Дополнительные опции  
Время ожидания ответа, сек. 30
Сохранить текущее значение в переменную Название переменной captcha
Область видимости parser
Выполнить POST-запрос URL для POST-запроса http://www.find-org.com/bot.html
Строка параметров keystring=%captcha%
Кодировка веб-страницы  
Кешировать запросы нет

 

Первыми двумя действиями (поиск тегов) мы получаем URL изображения с капчей,
третье действие (распознать текст капчи) отправляет картинку на сервис RuCaptcha, в ответ получая текст с картинки,
четвертым действием мы сохраняем текст с картинки в переменную (чтобы потом подставить его в POST запрос),
и последним, пятым, действием мы отправляем распознанный текст на обрабатываемый сайт.

В статье описан достаточно простой вариант (для этого сайта не требуется передавать специфические заголовки запроса, дополнительные параметры формы, и т.п.), так что на других сайтах может понадобиться более сложная настройка.
Но принцип настройки — тот же самый.

Если у вас не получается самостоятельно настроить обработку капчи в парсере, — мы можем настроить парсер под заказ