Нужна помощь с парсером для ЕГЮРЛ
Есть сайт https://egrul.nalog.ru/index.html Хочу написать парсер для выгрузки выписки от туда.
Сначала делается post запрос с параметром query='ИНН'
В ответ я получаю в JSON ключ типа: "t":"C639546DE6364BFC462A39C02862A0B22F85F1E317B359D71395917F336D71BAA0236A6C60146CE8DA52DA53239A290DC8D49DCF99ECD6F42984FCB851DAF1702B970C938627ED122A7A66BEDCA70A09","captchaRequired":false}
Далее судя по всему делается запрос:
egrul.nalog.ru/search-result/{здесь подставить ранее полученное}?r=1627021393883&_=1627021393883
Вопрос именно в r=1627021393883&_=1627021393883, я как понимаю это время в UNIX формате. Время не текущее, там то ноябрь, то октябрь выдает. Не могу понять, откуда оно берется, где браузер его получает?
Подскажите пожалуйста.
Ответы (1 шт):
этот параметр необязателен.
import requests
url = 'https://egrul.nalog.ru'
url_1 = 'https://egrul.nalog.ru/search-result/'
url_2 = 'https://egrul.nalog.ru/vyp-download/'
inn = 21..98
r = requests.post(url, data={'query': inn})
print(r.json()['t'])
r1 = requests.get(url_1 + r.json()['t'])
print(r1.json()['rows'][0]['n'])
print(r1.json()['rows'][0]['t'])
r2 = requests.get(url_2 + r1.json()['rows'][0]['t'])
with open(f'{r1.json()["rows"][0]["n"]}_{str(inn)}.pdf', 'wb') as f:
f.write(r2.content)
таким образом будет скачан pdf файл с именем "ФИО_ИНН"
UPD:
s = requests.Session()
s.get(url + '/index.html')
print(s.cookies)
r = s.post(url, data={'query': inn}, cookies=s.cookies)
print(r.json()['t'])
r1 = s.get(url_1 + r.json()['t'], cookies=s.cookies)
print(r1.json()['rows'][0]['n'])
print(r1.json()['rows'][0]['t'])
r2 = s.get(url_2 + r1.json()['rows'][0]['t'], cookies=s.cookies)
with open(f'{r1.json()["rows"][0]["n"]}_{str(inn)}.pdf', 'wb') as f:
f.write(r2.content)