Недвижимость
Сентябрь 2026
Заказчику нужен был реестр объектов коммерческой недвижимости - бизнес-центры, торговые центры, отели, склады, управляющие компании - с категорией, регионом, адресом, официальным сайтом, общей почтой, телефоном и ссылкой на страницу, откуда контакт взят.
Условие жёсткое. Только публичные данные юрлиц с официальных сайтов, без личных данных сотрудников и частных номеров, без закрытых баз и справочников, которые запрещают выгрузку, без дублей. Сначала сотня строк на проверку формата, потом остальное.
Вторым этапом он попросил ещё пятьсот объектов, добрать их по городам-миллионникам и вытащить профильные контакты - главный инженер, управляющий, отдел закупок - а теми же поисками пройти уже сданную первую половину.
Объекты брал из открытой картографической базы по тегам - офисные здания, склады, торговые центры, гостиницы, конторы управления недвижимостью. Поиск по названию на стороне сервера не укладывается в таймаут даже мелкой плиткой, поэтому фильтрация имён ушла в свой код.
Дальше обход сайтов - главная, страницы контактов, руководства, отделов, закупок, арендаторам. Ворота на почту пришлось расширять по ходу. В столицах контакт выглядит как info собаки домен, а в регионах гостиница пишет почту на бесплатном ящике, и по строгому правилу она терялась.
Профильные контакты ищутся по канонному списку должностей. Рядом с должностью берётся ФИО, но только явное, с отчеством или инициалами, почта и телефон с добавочным. Ворота против мусора - почта приёмной и общий телефон объекта в профильный столбец не пишутся, нужна фамилия, почта отдела или добавочный номер.
Выборочная проверка шести случайных строк с заходом на страницу-источник нашла две ошибки, и обе оказались системными. Телефон собирался из хвоста номера госрегистрации - внутри него нашлась восьмёрка и за ней одиннадцать цифр. И почта соседнего блока приписывалась должности, потому что контакт брался из окна и слева, и справа, а слева на странице стоял ресторан при отеле. После правки перегнал уже собранное заново - 23 ячейки из 78 оказались неверными.
Перед сдачей выгрузил книгу в PDF и просмотрел постранично. Это нашло ещё три слоя брака. Четыре сайта отдают почту шифром, который расшифровывает их же скрипт в браузере, и в реестр уходили несуществующие адреса. Девятнадцать агентств недвижимости числились управляющими компаниями из-за слова в названии. Восемнадцать объектов в бизнес-центрах оказались клиникой, автовыкупом, отделениями ведомств - они проходили по тегу здания без проверки имени.



Первую половину заказчик принял со словами, что качество полностью устраивает, и сразу заказал продолжение. Итог - тысяча строк без дублей, у каждой почта и телефон с официального сайта и ссылка на страницу, где они стоят. Пересечений между двумя половинами ноль, проверено сразу по трём ключам - домен, почта и пара «название плюс город». Расширение правила на почту дало по тем же объектам 1 348 строк с контактом вместо 735. Контрольная сверка двадцати случайных строк против живых страниц сошлась на семнадцати автоматом, три перепроверил руками.