Парсер для https://zakupki.gov.ru/
На данный момент реализована выгрузка планов закупки, договоров и извещений о закупке с ftp сервера.
Разработка ведется на Java 17. (Я использую данный JDK)
В данной программе используется база данных MySQL и есть два способа ее настройки:
- Стандартный
- Docker
Устанавливаем базу данных MySQL обычным способом. В интернете есть много инструкций для этого.
ВАЖНО! Пароль для пользователя root должен быть 12345.
В противном случае заходим в файл src/main/resources/application.yml и меняем 12345 на свой пароль.
Также пароль нобходимо сменить в файле open_data/insert_from_file.py
После установки необходимо подключиться к базе данных и выполнить скрипт из файла database/docker/sql/create_db.sql
Заходим в папку database/docker и запускаем файл docker.sh.
Перед парсингом необходимо заполнить базу данных табличными данными. Для этого переходим в папку open_data/ и запускаем скрипт insert_all.py. Вам понадобится библиотека pymysql
Открываем проект в вашей среде разработки (Я рекомендую IntelliJ IDEA от Jetbrains) и настраиваем проект Maven (IntelliJ IDEA скорее всего сделает это самостоятельно при открытие папки с проектом).
Все что вам остается это зайти в src/main/java/ru/homyakin/zakupki/Application.java и запустить программу.
Вы можете выбрать какие именно папки и регионы вам нужны перед началом загрузки, а также выбрать промежуток времени. ВАЖНО время файла определяется по его последнему изменению, поэтому в выгрузке за 2020 год могут оказаться файлы, созданные в 2019 году.
Алгоритм программы устроен так, что лучше выгружать несколько папок или регионов одновременно, так как в этом случае имеется возможность
параллельной обработки данных. Одну папку в рамках одного региона можно обрабатывать исключительно последовательного.
В application.yml можно указать сколько одновременно папок можно обрабатывать, по-умолчанию - 15.