Skip to content

WellspringV/egrul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Данный репозиторий представляет собой комплекс инструментов для скачивания файлов и фильтрации данных в JSON формате. Основные компоненты:

  1. downloader.py / wget_downloader.py (скачивание архива)
  2. json_parser.py (парсинг JSON файлов)
  3. repository.py (работа с БД)

Требуется доработать:

  1. Выбор параметров фильтрации.
  2. Уплощение и разбиение схемы 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

Процесс загрузки

image

После скачивания архива производится поэтапное разархивирование, чтение и фильтрация данных. Целевые данные записываются в БД.

Проверка результата:

docker exec -it database psql --username postgres --dbname postgres
 \dt
\d+ ul

image image

select id, ogrn, inn, kpp from ul order by id limit 5;

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published