Госструктуры выкладывают в интернет справочники с десятками гигабайтов информации. Если знать где искать, можно легально собрать данные о квартирах в промышленных масштабах.
Базы с индексами и районами городов тоже открыты. Бонусом я расскажу, как найти эти части адреса, если их не хватает.
Все справочники из этой статьи бесплатны и открыто лежат в интернете. Ни один не украли из ФСБ таинственные хакеры.
Существует ли жилье
Когда отправляешь клиенту письмо или пиццу, полезно проверить, если ли квартира. Обидно отдавать деньги за недошедшее письмо или впустую гонять курьера.
База данных Центризбиркома — простой для понимания справочник, по которому можно проверить существование квартиры.
По задумке база ЦИК нужна, чтобы каждый гражданин мог узнать свой избирательный участок. Для нас же главное, что в ней есть адреса вплоть до квартир.
Онлайн-версия базы ЦИК похожа на «Проводник» в старых версиях Windows
У базы есть недостаток: в ней хранятся только квартиры, где прописаны граждане России с избирательным правом.
Еще один минус — скорость спайдеринга. База хостится на очень медленных серверах, поэтому качать данные придется неделями: крупный город без области загружается сутки. При этом можно запустить спайдер, прийти на следующий день и увидеть, что сбор прервался из-за изменений в структуре базы.
Вроде бы идеальная альтернатива — государственный адресный реестр ФИАС, о котором мы писали в других статьях. По документации в нем есть адреса до квартиры, а еще он доступен в .dbf. Проблема одна: таблица с квартирами в ФИАС почти пуста: согласно ФИАС, в Москве около 70 000 квартир. Жилых домов лишь немногим меньше.
Куда лучше ФИАС для проверки квартиры подойдут данные Фонда государственной кадастровой оценки. Об этом справочнике мы расскажем в разделе «Площадь».
Почтовый индекс
Индекс адресата нужно проверять перед любым отправлением, иначе посылка может уйти не туда. Замдиректора Тюменского филиала Почты сокрушается: «Почти 30% <…> отправлений, а это около 6 миллионов единиц, приходят с неверным индексом, и мы либо возвращаем обратно корреспонденцию, либо она уходит по другому адресу...».
Найти или проверить индекс можно в базе Почты России, ее выкладывают на странице http://vinfo.russianpost.ru/database/ops.html в .dbf-формате. Данные обновляют дважды в месяц.
В базе Почты нет приближения до улицы или дома, только населенный пункт и список индексов. Для нас этого достаточно: если индекс до населенного пункта правильный, пересылка в нужное отделение отсрочит доставку всего на 2–3 дня.
Например, клиент оставил адрес «683000, г. Нижний Новгород, ул...». База Почты говорит, что такого индекса в Нижнем нет, а отделения 683xxx находятся в Петропавловске-Камчатском. Клиент ошибся скорее в цифрах, чем в названии города, поэтому хорошее решение — загрузить из базы Почты индексы Нижнего Новгорода и подставить в адрес минимальный 603000. Так посылка придет в нужный город, не путешествуя по стране месяцами.
Как подключить базу индексов Почты России, уже писал Envek, вы найдете подробности в его статье.
Район города
Районы нужны риелторам, чтобы группировать квартиры для продажи и аренды. К району удобно привязать стоимость доставки внутри города.
Городской район редко указывают в адресе: не прижилось. При этом знать, в каком районе находится дом, иногда полезно.
Искать район по адресу удобно в базе ЦИК, о которой мы говорили в первом разделе. В ней есть дома и квартиры, поэтому вы получите точный результат. Проблемы тоже никуда не делись: в базе не хватает квартир и домов, а на спайдеринг уходят недели.
Быстрое решение для поиска района — ОКАТО (Общероссийский классификатор объектов административно-территориального деления). В этом колоссальном документе расписана структура административного деления России от субъекта федерации до улицы. Домов в справочнике нет.
ОКАТО лежит в виде готовой базы данных на сайте ГНИВЦ ФНС. Для любителей поспайдерить есть еще текстовый вариант в «КонсультантПлюсе». Там же подробно описана структура справочника.
Так, начиная с районов Алтайского края, ОКАТО описывает всю структуру административного подчинения страны
Парсинг справочника даст базу внутригородских районов с подчиненными улицами.
Минус ОКАТО — запрос невозможно уточнить с помощью дома. Если улица раскинулась на несколько районов, однозначный результат не получить. В таких случаях база ЦИК сработает лучше.
ФИАС же, главный адресный справочник страны, для наших целей вовсе не подойдет: там не заполнили районы даже для Москвы.
Площадь
По площади считают цену квартиры, фильтруют предложения в базе данных риелторов.
Площадь жилья есть в открытых данных Фонда государственной кадастровой оценки. Кроме площади в базе кадастровой оценки много интересного: по правилам любое здание и помещение в России должно быть оценено по кадастровой стоимости, материалам, этажности и т. д. Также данные кадастровой оценки используют, чтобы проверить существование квартиры.
Базы данных кадастровой оценки скачивают на сайте Росреестра.
Нас интересует пункт «Отчеты об определении кадастровой стоимости»
Отчеты разделены по регионам и загружать их придется отдельно. Для каждого региона доступно несколько отчетов.
Площади квартир хранятся в отчете с помещениями, сооружениями, объектами незавершенного строительства и зданиями
Большинство отчетов датировано 2011–2014 годом, но других других данных у государства для нас нет. Спасибо и на том.
Скачивать отчеты — отдельное «удовольствие»: архив с файлами по республике Марий Эл «весит» всего 1,5 гигабайта, но с сайта Росреестра скачивался пять часов.
Внутри архива Росреестра сотни xml-файлов с параметрами квартир и домов: площадями, кадастровыми номерами, идентификаторами КЛАДР, кодами ОКАТО, материалами, из которых построены дома
Парсинг кадастрового отчета — особая тема, которая заслуживает большой статьи. Когда-нибудь мы ее напишем, а пока — описание XML-схемы отчетов на сайте Росреестра.
Примерная стоимость
Стоимость жилья используют банки, чтобы оценивать достаток заемщиков.
Когда есть площадь, для подсчета стоимости жилья не хватает только цены квадратного метра. Цену «квадрата» в доме ищут на сайтах объявлений: irr.ru, avito.ru, cian.ru. Объявление подходит, если в нем есть адрес дома, стоимость и площадь.
Рецепта для быстрого накопления базы нет: объявления нужно собирать регулярно и чем дольше, тем лучше. Только так можно добиться сколько-нибудь хорошего покрытия по адресам. Правда, и через несколько лет в маленьких городах, поселках, деревнях будут белые пятна.
Чтобы регулярно получать объявления, лучше договориться с площадкой: написать владельцам и предложить сотрудничество.
Если площадка отказала, остается спайдерить. Нужно морально подготовиться к тому, что сайты объявлений постоянно меняют верстку и спайдер придется переписывать перед каждым запуском.
Что нельзя узнать легально
Некоторые данные можно получить только нарушив закон. Обычно продавцы нелегальной информации просто врут, предлагая набор несвязанных таблиц под видом секретной базы МВД.
В открытом доступе нет и быть не может:
- списка людей, прописанных в квартире или доме;
- паспортных данных жильцов;
- но́мера домашнего телефона.
Максимум, что можно узнать про телефон: проверить соответствие номера населенному пункту по плану нумерации (есть на официальном сайте Россвязи в .csv).
Проблемы открытых источников
В каждом пункте про каждый справочник я писал «есть проблема», «то еще удовольствие», «нужно перепроверить». Все это потому, что официальные государственные реестры составлены криво.
Например, так наш разработчик оценил базу кадастровой оценки по Краснодарскому краю: «Номер квартиры не в поле apartments, а в поле name. В поле city много сельских округов, которые не парсятся (около 40%). Из 55885 домов с квартирами в итоговую выборку попали 25483».
Привести к продакшн-виду хоть ФИАС, хоть базу ЦИК, хоть отчет кадастровой оценки — задача для располагающего свободным временем человека с крепкими нервами. Мы ели эту соленую кашу килограммами, когда делали «Дадату». Чтобы не биться с кривыми справочниками, попробуйте наше API.
Один запрос к API «Дадаты» стоит 10 копеек, зато мы уже прошли семь кругов парсинга справочников и следим за всем, что государство выкладывает в открытый доступ