После подключения парсера к сервису распознавания Captcha, и настройки детектирования капчи на загруженных страницах, мы переходим к настройке действий парсера, отвечающих непосредственно за обработку капчи.
Эти действия включают в себя:
- извлечение необходимых данных для отправки на сервер решения капчи
(URL картинки с капчей, или ключа sitekey, и т.п.) - отправка запроса на решение капчи
(действие Распознать текст Captcha или Решить Google Captcha v.2) - отправка полученного ответа на обрабатываемый сайт для проверки
- проверка на стороне парсера, что капча успешно принята сайтом
(если всё верно настроено, эта проверка не требуется; достаточно в процессе настройки посмотреть ответ сервера в браузере, — там сразу видно, осталась капча на странице, или же сервер выдал «нормальную» страницу без капчи)
Переходим к настройке набора действий
- создаём новый набор действий, и задаём ему имя, ранее указанное на подвкладке Captcha
Если там было выбрано имя Parser_OnCaptcha, то это имя для набора можно выбрать из выпадающего списка имён:
- Нажимаем кнопку Редактировать список действий
и настраиваем действия по извлечению данных из страницы, отправке запроса на решение капчи, и отпраке данных на сервер (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 запрос),
и последним, пятым, действием мы отправляем распознанный текст на обрабатываемый сайт.
В статье описан достаточно простой вариант (для этого сайта не требуется передавать специфические заголовки запроса, дополнительные параметры формы, и т.п.), так что на других сайтах может понадобиться более сложная настройка.
Но принцип настройки — тот же самый.
Если у вас не получается самостоятельно настроить обработку капчи в парсере, — мы можем настроить парсер под заказ