Работа парсера состоит из двух этапов и нескольких шагов, включающих обновление базы при помощи команд в Django.
Добавление новых юридических лиц в declarations_legalentity
Запустить команду legal_entities_search
для обновления таблицы declarations_legalentity
.
--office - id офиса по которому искать (необязательно)
--bot_only - использовать секции созданные только ботом (True/False) (необязательно)
Парсим егрюл
-
Выгружаем из базы табицу с юридическими лицами, которые необходимо спарсить с ЕГРЮЛ. Обязательные поля:
id
,name
. -
Запускаем скрипт
egrul_parser.py
, в качестве аргумента передаём таблицу с юрлицами. В результате получаем папку с pdf-выписками, названия формата %id%.pdf -
Парсим скачанные выписки скриптом
parse_pdf.py
. Получаем две таблицы:persons_egrul.csv
, содержащую данные о "лицах, имеющих право без доверенности действовать от имени юридического лица", иlegal_entities.csv
с подробной информацией о самих юридических лицах. -
С помощью скрипта
clean_person_info.py
ищем соответствие между персонами, которые уже есть в базе и которые найдены в выписках. Результат — таблицаpersons_egul_done.csv
. Для работы необходимо наличие в папке со скриптом файловparams.json
(параметры для запросов в базу). -
Обновляем информацию о персонах, юридических лицах и в модели
PersonLegalPosition
командойload_egrul
с аргументамиpersons_egul_done.csv
иlegal_entities.csv
.