Парсер cian, slando, drom, bibika
Ключевыми данными, на которых основан функционал программы edrom по анализу объявлений, являются контактные телефоны из объявлений и качество работы программы во многом определяется ее возможностями по автоматическому извлечению номеров телефонов. К сожалению, все больше сайтов объявлений применяют различные методы защиты для предотвращения парсинга (автоматической загрузки данных с www-страниц программами-роботами). Как правило, защищаются именно контактные номера телефонов, что несколько затрудняет работу программы edrom.
Такими примерами являются: 1) avito.ru; 2) slando.ru; 3) drom.ru; 4) bibika.ru и многие др. сайты.
Применяемые методы защиты достаточно разнообразны и основаны на различных методах:
1) блокировка ip-адреса;
2) выдача капчи для возможности продолжения дальнейшей загрузки информации с сайта;
3) динамическая генерация ключей скриптами;
4) представление текстовой информации в виде изображений;
5) шифрация скриптов на странице.
При этом, как правило, применяется не один, а сразу комбинация нескольких или даже всех перечисленных выше методов защиты. Последняя версия программы edrom достаточно эффективно преодолевает все перечисленные методы защиты и позволяет автоматически извлекать номера телефонов с перечисленных сайтов для последующего анализа. Для автоматического распознавания капчи с сайтов drom.ru и bibika.ru используются возможности одного из известных online OCR-сервисов. Cтоимость распознавания одной капчи составляет всего 1$ за 1000 изображений и поэтому использование данных сервисов является экономически оправданным.
Начиная с версии edrom 1.60 скорость сбора данных с сайтов сландо, дром, бибика зависит от используемого способа подключения к Интернет. Для наиболее эффективной работы программы необходимо VPN-соединение с провайдером, при котором выделяется динамический ip-адрес.
Подавляющее число Интернет-провайдеров предоставляют именно динамический ip-адрес: "Стрим", "Билайн" ("Корбина"), "Акадо", "Дом.ру", мобильный 4G-интернет "Yota", Мегафон GPRS/EDGE и т.д.
Преимущества использования динамического ip-адреса при загрузке контактных телефонов с сайтов avito.ru, bibika.ru, slando.ru, drom.ru указаны в следущей таблице.
Табл. 1 - Скорость загрузки телефонов (без обращения к кешу сервера edrom)
Сайт |
Интервал загрузки одного телефона* |
Кол-во телефонов, загружаемых за 1 час работы программы* |
||
Статический ip-адрес |
Динамический ip-адрес, VPN |
Статический ip-адрес |
Динамический ip-адрес, VPN |
|
avito.ru |
3 мин |
4 сек |
20 |
~700 |
slando.ru |
25 сек |
1 сек |
120 |
~3000 |
bibika.ru |
1 мин |
1 сек |
60 |
~3000 |
drom.ru |
4 сек |
2 сек |
900 |
~1500 |
* Необходимо обратить внимание, что данные ограничения на скорость загрузки установлены при работе программы без обращения к кешу сервера edrom. Если мониторинг объявлений идет в реальном времени по крупным регионам, то за счет распределенного анализа между одновременно работающими копиями программы скорость загрузки может быть выше (см. Табл.2).
Табл. 2 - Realtime Monitoring по крупным регионам (Мск, Спб) с поддержкой кеширования
Сайт |
Кол-во телефонов, загружаемых за 1 час работы программы |
|
|
Стат. ip-адрес |
Дин. ip-адрес |
avito.ru |
нет явных ограничений |
нет явных ограничений |
slando.ru |
нет явных ограничений |
нет явных ограничений |
bibika.ru |
нет явных ограничений |
нет явных ограничений |
drom.ru |
нет явных ограничений |
нет явных ограничений |
Таким образом, если компьютер подключается к сети Интернет посредством VPN-соединения и выделяемый провайдером ip-адрес является динамическим, то для использования полных возможностей программы рекомендуется включить автоматическую смену ip-адреса для ускорения анализа и обхода блокировки. Настройки программы для включения автоматической смены ip-адреса рассматриваются далее.
Отметим, что при отсутствии VPN-соединения с динамическим ip-адресом, программа полностью сохраняет свою работоспособность, однако скорость сбора данных с avito.ru, bibika.ru, slando.ru и drom.ru будет ниже в связи с необходимостью выдержки таймаутов при соединениях и временем, затрачиваемым на распознавание капчи (на bibika.ru при статическом ip-адресе время на распознавание капчи в среднем составляет около 30 сек - 1 мин, загрузка контактных данных производится со скоростью до 120 телефонов/час).
Далее рассмотрим настройки программы для автоматической смены ip-адреса (при VPN-соединении), для этого необходимо воспользоваться командой Главное меню►Сервис►Параметры мониторинга►вкладка Динамический ip-адрес, в результате отображается следующее диалоговое окно:
Как видно из рисунка, возможны следующие режимы автоматической смены ip-адреса:
Не использовать автоматическую смену ip-адреса Обычный режим работы программы - без смены ip-адреса.
Динам. ip-адрес обеспечивается VPN-соединением с провайдером Автоматическая смена ip-адреса возможна при наличии VPN-соединения
Внешний динамический ip-адрес (прямое подключение по локальной сети) Опция недоступна.
Внешний динамический адрес, подключение через LAN-ADSL или через роутеры Опция недоступна.
Таким образом, при выборе опции Динам. ip-адрес обеспечивается VPN-соединением с провайдером возможен режим автоматической смены ip-адреса. При этом становятся активными следующие элементы управления настройками:
Имя соединения Определяет имя подключения, с которым при необходимости будет производится автоматическое соединение или отключение.
Задержка между соединениями Временной интервал в секундах после разрыва соединения и до момента начала установки соединения (в некоторых случаях, в зависимости от используемого провайдером оборудования, смена ip-адреса возможна только при установке задержки 2-3 сек)
Тестовая смена ip-адреса Позволяет в тестовом режиме проверить возможность программы автоматически менять ip-адрес компьютера. Если тестовая смена ip-адреса проходит успешно, появляется соответствующее сообщение:
VPN-лог Отображает ход смены ip-адреса (см. пред. рисунок). Информация обновляется при каждой смене ip-адреса.
Уточнить текущий ip-адрес Открывает в браузере страницу www.internet.yandex.ru для уточнения ip-адреса.
Если тестовая смена ip-адреса прошла успешно, программа может работать в режиме автоматической смены ip-адреса. Если программе не удается выполнить тестовую смену ip-адреса из-за особенностей Интренет-подключения, а стабильная и быстрая работа с avito.ru, slando.ru, drom.ru или bibika.ru необходима, рекомендуется сменить провайдера. Как уже отмечалось выше, подавляющее число Интернет-провайдеров предоставляют именно динамический ip-адрес.
В заключении необходимо отметить, что при использовании USB-модемов всегда можно создать VPN-соединение, см. Как для USB-модема создать VPN-соединение?