Данный репозиторий представляет собой комплекс инструментов для скачивания файлов и фильтрации данных в JSON формате. Основные компоненты:
- downloader.py / wget_downloader.py (скачивание архива)
- json_parser.py (парсинг JSON файлов)
- repository.py (работа с БД)
Требуется доработать:
- Выбор параметров фильтрации.
- Уплощение и разбиение схемы JSON для записи в несколько таблиц.
Копируем репозиторий
git clone git@github.com:WellspringV/egrul.git && cd egrul/ \
&& docker build -t egrul .
После сборки образа создаем кастомную сеть и volume
docker network create back_net && \
docker volume create postgres_volume
и запускаем 2 контейнера.
docker run --rm -d \
--name database \
--net=back_net \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=123 \
-e POSTGRES_DB=postgres \
-v postgres_volume:/var/lib/postgresql/data \
postgres:14
docker run --rm \
-it \
--name back \
--net=back_net \
-p 8000:8000 \
-e DB_HOST=database \
-e DB_USER=postgres \
-e DB_PASS=123 \
-e DB_NAME=postgres \
egrul
Процесс загрузки
После скачивания архива производится поэтапное разархивирование, чтение и фильтрация данных. Целевые данные записываются в БД.
Проверка результата:
docker exec -it database psql --username postgres --dbname postgres
\dt
\d+ ul
select id, ogrn, inn, kpp from ul order by id limit 5;