Jupyter Notebook
Описание проекта
Section titled “Описание проекта”Данный блокнот представляет собой инструмент для автоматизированного сбора, анализа и контроля качества данных федерального регистра муниципальных нормативных правовых актов (МНПА). Отчет ориентирован на мониторинг активности регионов РФ и детальный аудит дисциплины внесения актов в Воронежской области.
Автор: Казьмин А.В.
Дата актуальности кода: Март 2026 г.
Основные возможности
Section titled “Основные возможности”1. Глобальная статистика по РФ (pravo.minjust.ru)
Section titled “1. Глобальная статистика по РФ (pravo.minjust.ru)”Автоматическое получение данных через API федерального портала:
- Топ-10 субъектов РФ по общему количеству актов.
- Динамика за 2025 и 2026 годы.
- Статистика по типам муниципальных образований (округа, сельские поселения).
- Рейтинг регионов по количеству внесенных административных регламентов.
2. Детальный анализ Воронежской области
Section titled “2. Детальный анализ Воронежской области”Прямое подключение к локальной базе данных (MS SQL Server) для глубокой аналитики:
- Сроки внесения: Расчет среднего количества дней от принятия акта до его появления в регистре.
- Дисциплина: Выявление доли актов, внесенных с нарушением сроков (15 и 60+ дней).
- Активность: Группировка данных в разрезе районов и поселений.
3. Автоматизированный контроль качества (QA)
Section titled “3. Автоматизированный контроль качества (QA)”Блокнот выполняет роль «умного» цензора, выявляя логические ошибки в данных:
- Контроль видов актов: несоответствие типа документа его реквизитам (например, «Постановление» в тексте при выбранном виде «Решение»).
- Органы власти: проверка соответствия органа виду акта (например, «Постановление» не может издаваться «Советом народных депутатов»).
- Ошибки в датах: выявление случаев, когда дата принятия акта указана позже даты его регистрации.
- Атрибутика: проверка корректности простановки флага «Изменяющий» (сравнение с названием документа).
4. Аудит гиперссылок
Section titled “4. Аудит гиперссылок”Анализ корректности ссылок на текстовые контенты актов для обеспечения их доступности в публичной части портала.
Технический стек
Section titled “Технический стек”- Язык: Python 3.12+
- Библиотеки:
pandas: обработка и анализ табличных данных.requests: взаимодействие с API федерального регистра.sqlalchemy&pyodbc: работа с базой данных MS SQL Server.IPython.display: генерация интерактивных HTML-отчетов со стилизованными таблицами.openpyxl: экспорт результатов в Excel.
Требования к запуску
Section titled “Требования к запуску”Настройки подключения
Section titled “Настройки подключения”Для работы блока с данными Воронежской области требуется доступ к серверу БД:
- Server: “
- Database: “
- Driver:
SQL Server(требуется установленный ODBC драйвер).
Входные файлы
Section titled “Входные файлы”Для корректной работы блока анализа ссылок в папке с блокнотом должен находиться файл:
result_all_hrefs.xlsx(содержащий колонкиId,Поиск,Проставлены_ссылки).
Структура блокнота
Section titled “Структура блокнота”- Блок 1: Федеральный регистр. Скрапинг данных с
pravo.minjust.ru, построение сравнительных таблиц по регионам. - Блок 2: SQL-выгрузка. Выполнение сложного CTE-запроса к базе данных для формирования первичного датасета.
- Блок 3: Сроки и дисциплина. Визуализация выполнения регламентных сроков внесения МНПА в виде интерактивной таблицы с прогресс-барами.
- Блок 4: Логический аудит. Применение функций-фильтров для выявления ошибок ввода, допущенных операторами.
- Блок 5: Ссылочный анализ. Проверка доступности электронных копий документов.
- Блок 6: Экспорт. Сохранение итогового обогащенного отчета в формат
.xlsxс отметкой даты в названии.
Инструкция по использованию
Section titled “Инструкция по использованию”- Убедитесь, что у вас есть доступ к сети для обращения к порталу Минюста.
- Проверьте VPN/локальное соединение для доступа к SQL-серверу “.
- Запустите все ячейки последовательно (
Cell -> Run All). - Итоговый файл
Analytics_Report_YYYYMMDD.xlsxбудет создан в корневой директории.
Примечание: При возникновении ошибок с кодировкой при подключении к SQL Server, проверьте настройки драйвера ODBC в системе.