Мне нужно скачать архивы погоды с сайта https://rp5.ru/Weather archive_in_ostrove_heys (их нужно будет скачать для всех метеостанций в будущее, в цикле).
На сайте процесс происходит так:
Вы вводите станцию и даты и нажимаете «Выбрать файл в ГЗ» кнопку, после этого файл будет сгенерирован и появляется кнопка скачать, при нажатии на которую происходит перенаправление на файл и он скачивается.
Я пытаюсь воспроизвести запрос, который отправляется на сервер при нажатии на "Выбрать файл" в ГЗ», однако в ответе от сервера приходит ошибка (то есть запрос проходит, но не успешно). Подскажите пожалуйста, в чем может быть ошибка и как ее исправить?
Просмотрел все вопросы и ответы по парсингу с этого сайта, но видимо на сайте что-то изменилось и готового нет решения, предложенные на форумах, не работают.
Я думаю, что это может быть связано с файлами cookie, но я пытался сначала получить их с помощью запроса на получение и отправить их в почтовом запросе, но тоже ничего не выходит.
Код: Выделить всё
myUrl = "https://rp5.ru/responses/reFileSynop.php"
myHeader = {}
myHeader["Accept"] = "text/html, */*; q=0.01"
myHeader["Accept-Encoding"] = "gzip, deflate, br"
myHeader["Accept-Language"] = "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
myHeader["Connection"] = "keep-alive"
myHeader["Content-Length"] = "110"
myHeader["Content-Type"] = "application/x-www-form-urlencoded"
myHeader["Host"] = "rp5.ru"
myHeader["Origin"] = "https://rp5.ru"
myHeader["Referer"] = "https://rp5.ru/"
myHeader["sec-ch-ua-mobile"] = "?0"
myHeader["Sec-Fetch-Dest"] = "empty"
myHeader["Sec-Fetch-Mode"] = "cors"
myHeader["Sec-Fetch-Site"] = "same-origin"
myHeader["sec-ch-ua"] = '" Not A;Brand";v="99", "Chromium";v="90", "Yandex";v="90"'
myHeader["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
myHeader["X-Requested-With"] = "XMLHttpRequest"
myData = {'wmo_id':'27612','a_date1':'21.06.2021','a_date2':'20.06.2021','f_ed3':'6','f_ed4':'6','f_ed5':'22','f_pe':'1','f_pe1':'1','lng_id':'2','type':'xls'}
response = requests.post(myUrl, data=myData, headers=myHeader)
print(response.text)
Подробнее здесь: https://stackoverflow.com/questions/680 ... ser-rp5-ru
Мобильная версия