Банк вручную переносил данные из выписок ЕГРН Росреестра в Excel — я заменил это одной html-страницей без Python и установки чего-либо в Excel в одну кнопку: как мы перестали мучаться с выписками ЕГРН (без Python, VS Code и сторонних сервисов)
Каждый, кто хоть раз работал с залогами, недвижимостью, аудитом, знает эту боль: выгрузка выписок ЕГРН из Росреестра приходит в формате PDF и XML.
В чём была боль
Банку (и оценщикам, которые с ним работают) регулярно нужно собирать сводную таблицу по объектам недвижимости, которые оцениваются и передаются в залог: название, кадастровый номер, вид права, правообладатель, адрес, площадь, обременения, охранные зоны. Все эти данные сотрудники вручную переносят из выписок ЕГРН (как правило в формате PDF) в таблицу. При этом Росреестр отдает помимо PDF версии выписки, те же самые данные, но в машиночитаемом XML - формате. А если объектов и соответственно выписок ЕГРН несколько десятков, то большая часть времени превращается не в анализ, а в тупо механическое копирование данных в таблицу.
Спасение в том, что XML-выписка — это не плоская табличка, а вложенная структура на несколько уровней: где-то площадь лежит в params area value, где-то в base_parameter, где-то нужно доставать из вложенных right_record и right_holder список всех правообладателей и склеивать их через точку с запятой. Руками — это 10-15 минут на один объект. При 50 объектах (обычная история для одного залогового заключения в Среднем бизнесе (про КИБ пока молчу) в одном крупном банке) — уходил почти целый рабочий день только на копирование. Представьте это в деньгах))
Почему не Python и не готовый парсер
Первая мысль — конечно, написать скрипт на Python: lxml, пробежаться по тегам, выгрузить в EXLS/CSV. Но на практике для сотрудника банка, бухгалтера, юриста или оценщика это означает: установи/получи доступ к Python / Jupyter Notebook, установи библиотеки, разберись с виртуальным окружением, запусти через консоль, при том, что для обычных сотрудников это превращается в головняк, кроме того пользователи не читают инструкции, хоть ты тресни)). Для разового или редкого действия это неоправданно высокий порог входа — и по факту такой скрипт просто не будут использовать сами, а делать все по старому - в ручную, либо звать «того, кто умеет», потому-что что-бы разобраться - надо вникнуть, а это для многих (без обид) проблема).
Да, в интернете предлагаются много всяких онлайн-конвертеров. Но: Загружать коммерческие/персональные данные во внешние сервисы нельзя по регламентам ИБ.
Поэтому решение сделал по-другому: одна html-страница с JavaScript, которая открывается двойным кликом в любом браузере. Ничего не устанавливается, ничего не запускается через терминал — файл просто лежит на рабочем столе (или в папке), и им может пользоваться любой сотрудник.
Как это работает
Интерфейс — простое окно с drag-and-drop: перетаскиваешь туда хоть один XML-файл, хоть пятьдесят сразу.
Дальше браузер сам:
- парсит вложенную XML-структуру через DOMParser и достаёт нужные поля независимо от того, здание это, помещение, сооружение, машино-место или земельный участок — у каждого типа своя схема данных;
- автоматически формирует человекочитаемое описание объекта (например: «Помещение, назначение: нежилое, площадь: 42.5 кв.м., этаж расположения: 2»);
- склеивает все виды прав и всех правообладателей по объекту через точку с запятой;
- сверяет кадастровые номера между объектами в подборке, чтобы не задваивать позиции, которые упомянуты сразу в нескольких выписках;
- сортирует объекты в правильном порядке (сначала здания и помещения, земельные участки — в конце);
- нажимаете кнопку «Обработать и скачать CSV»;
- получаете готовый CSV, который открывается в Excel без танцев с бубном: разделитель — точка с запятой, десятичный разделитель — запятая, кодировка с BOM, чтобы кириллица не превращалась в кракозябры.
Никакой отправки данных во внешний контур! Всё парсится средствами вашего браузера (JavaScript). Скрипт работает даже при полностью отключенном интернете.
Всё это происходит локально, в браузере пользователя. Файлы никуда не отправляются на сервер — это важно, когда речь о персональных данных по недвижимости и правообладателям.
Что получилось в итоге
То, что раньше занимало день (или значительное время) ручной работы, теперь занимает то время, за которое браузер успевает перетащенные файлы прочитать — по факту, секунды. Один и тот же html-файл можно переслать коллеге в почте/мессенджере, и он заработает у него точно так же, без установки чего-либо. И это самая главная отличительная особенность!
Это, в общем-то, и есть суть того, чем я занимаюсь: не большие ERP-интеграции на месяцы, а точечные «микроавтоматизации» — одна конкретная рутинная операция превращается в кнопку за разумное время и деньги).
Если тема близка или вы испытываете аналогичную потребность — веду телеграм-канал, где разбираю именно такие кейсы: Было руками — стало кнопкой t.me/micro_automation, МАКС