Работа с капчей на примере парсера сайта reformagkh.ru

Задача: 

Собрать информацию об управляющих компаниях, входящих в структуру ЖКХ, а также о домах, находящихся в управлении этой компании. При появлении капчи предложить пользователю ввести её (через интерфейс программы) и продолжить скачивание.

Описание: 

Тестовая настройка парсера скачивают информацию об управляющих компаниях (УК) города Москвы и домах, находящихся под их управлениям. Перебираются районы города Москвы, в каждом районе все УК. Для каждой УК выводятся:

Сокращенное наименование
Адрес фактического местонахождения органов управления
Контактные телефоны
Официальный сайт в сети Интернет
Количество домов, находящихся в управлении , ед.
Площадь домов, находящихся в управлении, кв. м

А также все дома, находящиеся в управлении. Для каждого дома выводятся:

Адрес
Площадь, м 2
Год постройки
Количество этажей

Однако сайт через некоторое время (несколько сот заполненных строк) - выдает капчу - тест на определение - человек или робот работает с сайтом. Данная настройка интересна прежде всего примером работы с капчей (см. набор действий Captcha внутри настройки) - пользователю предлагается ввести комбинацию букв и цифр, чтобы сайт мог убедится, что данные просматривает человек.

Кроме ручного ввода парсер может быть перенастроен и под автоматическое распознавание капчи через сервис rucaptcha.com

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

Для приобретения полной версии настройки этого парсера, обращайтесь на почту, с указанием ссылки на эту статью.

Комментарии

Денис, мы не консультируем по вопросам настройки парсеров.
Можем настроить под заказ.

Попробовал.
После загрузки первой страницы все следующие страницы отдают один и тот же скрипт. Вроде бы он должен обрабатываться инструментом "капча", но не понятно как им пользоваться.
В общем, у меня демо-настройка не завелась похоже.
Нужны не УК, а сведения о домах по разным регионам. Одноразовым сбором не обойтись. Предполагал сделать по аналогии с УК.
Подскажете ЧЯДНТ?
Тот самый скрипт:

var checkKey = 'a0ee50584a39e6d7c4e6e3191b2cf8dd',
key1 = '7a2a4896b9692322ac4cc7fcff30cf7b157a4fee558504e208a6',
val1 = Number('1730713588'),
key2 = '7a2a4896b9692322ac4cc7fcff30cf7b171e9820d2175e775442',
val2 = Number('1366099333');

var xhrRequest = new XMLHttpRequest();

xhrRequest.open('POST', '/save-check-data');
xhrRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhrRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhrRequest.onload = function () {
var response = JSON.parse(xhrRequest.responseText || '{}');

if (xhrRequest.status === 200 && !!response.success) {
window.location.reload();
} else {
window.location.href = '/';
}
};
xhrRequest.send(encodeURI('key1=' + key1 + '&key2=' + key2 + '&check-key=' + checkKey + '&check-value=' + (val1 + val2)));

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  _       ___             ____   ____          
| | __ / _ \ _ __ / ___| / ___| __ _
| |/ / | (_) | | '_ \ | | _ \___ \ / _` |
| < \__, | | |_) | | |_| | ___) | | (_| |
|_|\_\ /_/ | .__/ \____| |____/ \__, |
|_| |_|
Введите код, изображенный в стиле ASCII-арт.