Pull to refresh

Открытые данные по государственным услугам РФ

Reading time4 min
Views3K
Уверен что многие из Вас, а может быть и все уже сталкивались с сайтом госуслуг.
То что я наблюдаю, так или иначе, хорош он или плох, а интерес к нему есть.
Однако, чтобы этот интерес реализовать на полную лично я считаю что необходимы открытые данные.

И такие открытые данные есть. Пусть и предоставляемые не Минсвязи, а извлеченные с сайта госуслуг специальным парсером, но они существуют.

Например, эти данные позволили мне месяц назад получить некоторые интересные цифры по анализу организаций на этом сайте и их контактов.


Процитирую из того своего поста:
На сайте Госуслуг 19989 зарегистрировано госорганизаций.

У организаций всего указано 6730 уникальных email’ адресов (у некоторых структур адреса дублируются так что мы рассматриваем только уникальные). Из них:

— 412 (6%) – запонены некорректно, не проходят валидацию.
— 59 (1%) – указывают на несуществующие домены
— 1517 (22.5%) являются адресами бесплатной электронной почты такой как Mail.ru, Google Mail, Яндекс.Почта и Почта Рамблера.
Подробнее по каждому:
– 982 (64.7%) – Mail.ru
– 305 (20.1%) – Яндекс.Почта
– 118 (7.8%) – Почта Рамблера
– 112 (7.4%) – Google Mail
– 30 – HotMail (1.97%)


Однако я взглянул на все это лишь с одной стороны и я совершенно уверен что там существует куда больше проблем. Например, во многих случаях указаны совершенно неверные контактные телефоны, огромное число организаций без мест оказания услуг, много организаций вообще к услугам не привязанных, у большей части организаций не указаны контакты и так далее.
Наверняка, многие из Вас смогут найти там интересные данные для визуализации и анализа.

А сами данные доступны в форматах пригодных для использования в MongoDB:
— в формате JSON через Mongoexport — http://export.opengovdata.ru/raw/gs_json.7z
— в формате BSON через Mongodump — http://export.opengovdata.ru/raw/gs_bson.7z

Массив в большей степени нацелен на анализ организаций, а не госуслуг, поэтому главная таблица там — это orgs. Также есть несколько вспомогательных таблиц через которые считалась статистика по доменам, email адресам и так далее.

Описание структуры данных следующее

Коллекция orgs — организации
  • _id — уникальный код организации в системе, идентификатор Mongodb
  • key — уникальный код организации на сайте Госуслуг
  • name — название организации
  • url — ссылка на сайте Госуслуг
  • level — уровень подчиненности организации
  • parent — код родительской организации, если есть
  • profile — массив из массивов по 2 строки в каждом с перечислением полей из профиля организации
  • childs — дочерние организации в виде словаря
  • childs.num — число организаций
  • childs.list — список/массив кодов организаций
  • services — словарь с описанием услуг предоставляемых данной организацией
  • services.exists — флаг существования блока услуг у организации
  • services.items — массив из словарей услуг с полями name и url
  • suborgs — словарь подчиненных организаций
  • suborgs.exists — флаг существования блока у организации
  • suborgs.items — массив из словарей услуг с полями key, name и url
  • unknown — блок «неизвестности» страницы в виде словаря. Присутствует только если нет других блоков
  • unknown.exists — флаг существования блока услуг у организации
  • unknown.items — массив, всегда пустой
  • contacts — словарь контактов организации
  • contacts.exists — флаг существования блока у организации
  • contacts.items — массив из строк с контактами
  • places — словарь мест оказания услуг
  • places.exists — флаг существования блока у организации
  • places.items — массив из строк с описанием мест оказания услуг


Коллекция pages — страницы
  • _id — уникальный код в системе, идентификатор Mongodb
  • url — ссылка на запрошенную страницу
  • rurl — url страницы после редиректа со стороны сайта госуслуг
  • page — кусок кода HTML содержанием страницы.


Коллекция domains — домены сайтов (на основе данных о email адресах)
  • _id — уникальный код в системе, идентификатор Mongodb
  • domain — домен
  • has_a — флаг наличие записи A в DNS
  • a — массив из словарей с полем name и перечнем результатов запроса A к DNS
  • has_mx — флаг наличия записи MX в DNS
  • mx — массив из словарей с полями name (название сервера), l2_dom (домен второго уровня сервера), priority (приоритет) и перечнем результатов запроса MX к DNS


Коллекция mx_servers — почтовые сервера
  • _id — уникальный код в системе, идентификатор Mongodb
  • domain — домен почтового сервера
  • l2_dom — домен второго уровня
  • num_domains — число доменов использующих данный MX сервер
  • domains — массив доменов использующих данный MX сервер


Коллекция emails — email адреса из контактов организаций
  • _id — уникальный код в системе, идентификатор Mongodb
  • email — адрес электронной почты
  • domain — домен email алреса
  • parsed — флаг что email адрес разобран
  • valid — флаг что email адрес корректен
  • has_a — флаг наличие записи A в DNS
  • a — массив из словарей с полем name и перечнем результатов запроса A к DNS
  • has_mx — флаг наличия записи MX в DNS
  • mx — массив из словарей с полями name (название сервера), l2_dom (домен второго уровня сервера), priority (приоритет) и перечнем результатов запроса MX к DNS


Коллекция services — государственные услуги
описание пока неполно, по услугам есть только названия и привязки к организациям
  • _id — уникальный код в системе, идентификатор Mongodb
  • name — название госуслуги
  • url — ссылка на сайт госуслуг
  • num_orgs — число организаций
  • orgs — массив из кодов организаций оказывающих данную услугу


А также, те из вас кто задумается о том как можно поработать с этими данными предлагаю обратить внимание на каталог в OpenGovData.ru данные из которого можно попробовать использовать для улучшения/анализа данных о госуслугах.

Желающим также могу передать код извлечения и разбора данных с Госуслуг. Я вскоре его, в любом случае, размещу в открытом доступе, но пока он не особо готов для публикации — без комментариев и пояснений.
Tags:
Hubs:
+59
Comments24

Articles