Refactor project structure and update configurations for State Corp backend
- Updated project description in __init__.py - Enhanced .gitignore to exclude additional data files - Modified User model to remove first_name and last_name fields - Improved instance save method in services.py to include updated_at field - Added API tokens to .env.example for external services - Cleaned up test files for better readability - Updated Dockerfile and docker-compose.yml for improved setup - Revised README.md to reflect project changes and added changelog
This commit is contained in:
87
README.md
87
README.md
@@ -1,6 +1,8 @@
|
||||
# State-Corp / Отчётность Организаций
|
||||
# Django ETL Boilerplate
|
||||
|
||||
Backend для системы Отчётность Организаций (State-Corp).
|
||||
Шаблон Django приложения для ETL (Extract, Transform, Load) операций с функциями веб-скрапинга.
|
||||
|
||||
Название проекта: State Corp Backend
|
||||
|
||||
## Технологический стек
|
||||
|
||||
@@ -10,10 +12,53 @@ Backend для системы Отчётность Организаций (State
|
||||
- **PostgreSQL**: 15.10
|
||||
- **Redis**: 7.x
|
||||
- **Celery**: 5.3.6
|
||||
- **Scrapy**: 2.11.2
|
||||
- **Playwright**: 1.52+ (browser automation)
|
||||
- **Gunicorn**: 21.2.0
|
||||
- **Apache**: 2.4.57
|
||||
|
||||
## Парсеры данных
|
||||
|
||||
Проект включает парсеры для загрузки данных из государственных источников:
|
||||
|
||||
### Минпромторг (minpromtorg.gov.ru)
|
||||
- **Сертификаты промышленного производства** - `parse_industrial_production`
|
||||
- **Реестр производителей** - `parse_manufactures`
|
||||
|
||||
### Единый реестр проверок (proverki.gov.ru)
|
||||
- **Проверки по ФЗ-294** - традиционные проверки
|
||||
- **Проверки по ФЗ-248** - новые проверки с 2021 года
|
||||
- **Автоматическая синхронизация** - `sync_inspections`
|
||||
|
||||
### Запуск парсеров
|
||||
|
||||
```python
|
||||
# Через Celery
|
||||
from apps.parsers.tasks import (
|
||||
parse_industrial_production,
|
||||
parse_manufactures,
|
||||
parse_inspections,
|
||||
sync_inspections,
|
||||
)
|
||||
|
||||
# Парсинг сертификатов
|
||||
parse_industrial_production.delay()
|
||||
|
||||
# Парсинг производителей
|
||||
parse_manufactures.delay()
|
||||
|
||||
# Парсинг проверок за конкретный месяц
|
||||
parse_inspections.delay(year=2025, month=10, is_federal_law_248=False)
|
||||
|
||||
# Автоматическая синхронизация (с 01.01.2025 до текущего месяца)
|
||||
sync_inspections.delay()
|
||||
```
|
||||
|
||||
### Особенности парсера proverki.gov.ru
|
||||
- Использует **Playwright** для JS-рендеринга
|
||||
- Поддержка **потокового парсинга** для больших файлов (>50 МБ)
|
||||
- Автоматическое определение последнего загруженного периода
|
||||
- Раздельная загрузка ФЗ-294 и ФЗ-248
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
@@ -313,4 +358,38 @@ make clean # Очистка временных файлов
|
||||
|
||||
## Лицензия
|
||||
|
||||
MIT License
|
||||
MIT License
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
### 2026-01-21
|
||||
#### Добавлено
|
||||
- **Задача `sync_inspections`** - автоматическая синхронизация проверок с proverki.gov.ru
|
||||
- Инкрементальная загрузка с последнего сохранённого периода
|
||||
- Начало с 01.01.2025 если БД пуста
|
||||
- Раздельная загрузка ФЗ-294 и ФЗ-248
|
||||
- Автоматическая остановка при отсутствии данных (2 пустых месяца)
|
||||
- **Поля в модели InspectionRecord**:
|
||||
- `is_federal_law_248` - признак проверки по ФЗ-248
|
||||
- `data_year` - год загруженных данных
|
||||
- `data_month` - месяц загруженных данных
|
||||
- **Потоковый парсинг XML** для файлов >50 МБ (iterparse)
|
||||
- **Методы в InspectionService**:
|
||||
- `get_last_loaded_period()` - получение последнего загруженного периода
|
||||
- `has_data_for_period()` - проверка наличия данных за период
|
||||
|
||||
### 2026-01-20
|
||||
#### Добавлено
|
||||
- **Парсер proverki.gov.ru** с поддержкой Playwright
|
||||
- Навигация по порталу (клик на вкладку "Скачать")
|
||||
- Парсинг XML с namespaces
|
||||
- Извлечение данных из атрибутов и вложенных элементов
|
||||
|
||||
### 2026-01-19
|
||||
#### Добавлено
|
||||
- **Парсеры Минпромторга** (сертификаты, производители)
|
||||
- **Модуль apps.parsers** с клиентами, сервисами и задачами Celery
|
||||
- **Django Admin** для управления записями парсеров
|
||||
- Дедупликация по unique constraints
|
||||
Reference in New Issue
Block a user