Использование парсера для получения информации из открытых источников (проверки информации)
10000 кадастровых номеров, 30000 записей, источник — веб-сайт, дедлайн — конец рабочего дня. Как выгрузить такой объем данных?
В своей работе мы нередко встречаемся с необходимостью получить недостающую/обновить существующую информацию об исследуемом объекте. При условии, что нужная нам информация находится в открытых источниках, мы можем извлечь ее с помощью программы для сканирования веб-страниц (парсера).
Рассмотрим пример парсинга сервиса Росреестра. В связи с большим количеством информации о технологии парсинга в сети интернет, сделаем акцент на практической реализации программного кода.
Итак, нам необходимо получить информацию об адресе и типе объекта недвижимости, но известен только кадастровый номер. Необходимая информация содержится на сервисе rosreestr.NET.
Алгоритм работы.
1) Перейти на сайт
2) Ввести кадастровый номер в поле поиска, нажать Enter;
3) В появившемся ниже поле определить проверяемый объект и нажать кнопку «выбрать»;
4) На странице объекта идентифицировать информацию (в нашем случае это тип, кадастровый номер, и адрес объекта недвижимости);
5) Сохранить результат.
Для реализации инструмента нам необходим Python, библиотеки Selenium, Pandas, а также Google Chrome, ChromeDriver и базовые навыки HTML.
- Входные данные.
Кадастровые номера объектов находятся в таблице в формате Excel.Импортируем электронную таблицу, получаем список из кадастровых номеров.
2. Создадим функции.startChrome — функция запуска браузера.
wait_element и wait_element_text — функции обращения к веб-элементам:
- основаны на явном ожидании (explicit waits) элементов, данная реализация позволяет избежать использования таймера, что ускоряет работу кода;
- обращаются к элементу через XPath (язык запросов для извлечения элементов в XML документе).
XPath можно написать вручную, предварительно ознакомившись с синтаксисом или воспользоваться встроенным в браузер решением.
Нажать правой кнопкой на интересующий веб-элемент в окне браузера -> «Просмотр кода элемента».
В появившейся справа консоли кликнуть правой кнопкой мыши по выбранному элементу -> выбрать «copy XPath».
Скопированный XPath можно использовать в качестве входного параметра для переменной.
3. Запуск скрипта.Алгоритм приведенного скрипта работает в однопоточном режиме, извлекая информацию о каждом объекте недвижимости по кадастровому номеру, находящегося в исходной таблице kad.xlsx.
Результат в виде наборов параметров (тип, кадастровый номер, и адрес объекта недвижимости) сохраняется в таблицу result.xlsx.
Использование парсера позволяет наполнить базу данных свежими данными из открытых источников, автоматизировать рутинную работу, которую ранее выполняли в ручном режиме.