python

Подача авто-запросов на сайте ФНС в ЕГРЮЛ на python

  • четверг, 13 июня 2019 г. в 00:16:09
https://habr.com/ru/post/455808/
  • Python


На сайте ФНС по адресу egrul.nalog.ru/index.html есть замечательный сервис проверки контрагентов или своих собственных обществ.

Суть проверки сводится к подаче запроса в ЕГРЮЛ (единый реестр фактов детальности юридических лиц) и получении тут же, онлайн, выписки из реестра.

Работа с сервисом не вызывает каких-либо затруднений: внес в поле ОГРН, нажал кнопку “Найти” и нажал кнопку “Скачать” ниже. Все, выписка получена.

Как здесь может помочь автоматизация? Очень просто.

Если ваш холдинг состоит из n-количества юридических лиц, то даже такая работа как копипастинг ОГРН в строку поиска сервиса может надоесть.

Избавимся от рутины и автоматизируем процесс подачи-скачивания выписок из ЕГРЮЛ!

В нашем случае программа будет “забирать” по одному ОГРН из заранее подготовленной таблицы excel, вносить значение в строку сервиса, нажимать необходимые кнопки.

В идеале работа программы будет выглядеть так:

Приступим.

Для начала подготовим таблицу excel, куда внесем ОГРН, по которым мы будем работать, в столбик:



Количество ОГРН не имеет значения (можно хоть весь ЕГРЮЛ скачать), главное чтобы они все были в столбце А.

Назовем файл выпискиЕГРЮЛ.xlsx и сохраним в рабочей директории python.

Теперь создадим сам файл с программой – egrul.py.

Первые строки программы, как обычно, начинаются с импорта необходимых модулей, далее мы выбираем браузер (в моем случае Chrome) и “заходим” на сайт:



Далее мы запускаем цикл по всем ОГРН в таблице excel:



Здесь надо обратить внимание на значения x вначале цикла:



2- это начальная ячейка с ОГРН (стартовая), которая соответствует A2 в excel таблице. Конечная ячейка будет A9, хотя в цикле указана цифра 10.

Это надо иметь ввиду, чтобы все ОГРН были обработаны и последнее значение не потерялось.
Между подачами запросов в ЕГРЮЛ программа выдерживает паузу в 30 секунд. Это может показаться недопустимо долго и этот период захочется сократить. Это можно сделать, поменяв значение в строке time.sleep(30) на, например, time.sleep(10). Однако в данном случае можно попасть под санкции сервиса ФНС и получить капчу. Данную капчу можно обойти, но это тема отдельного поста. А в этой программе лучше оставить задержку между подачами запросов в 30 секунд и пойти спокойно пить чай, пока программа за вас работает.

Ссылка на программу – здесь.

Ссылка на тестовую таблицу excel – здесь.