Запросы Python не могут загрузить файл

#python #selenium #python-requests

Вопрос:

Мой Код:

 from fake_useragent import UserAgent


ua = UserAgent()

headers = {'Connection': 'keep-alive','User-Agent': str(ua.chrome)}

data = {'inUserName': 'username', 'inUserPass': 'password'}
    
site_url = 'https://www.website.com/home/welcome'

s = requests.Session()
r = s.post(site_url,data=data,headers=headers)

if response.status_code == 200:
        r = s.get("https://www.website.com/text/2017?y=2021amp;x=xls", allow_redirects=True, headers=headers,cookies=r.cookies)
       
        output = open('file.xls', 'wb')
        output.write(r.content)
        output.close()
 

Когда я захожу на веб-сайт, чтобы загрузить файл xls, я просто получаю этиловый код сайта приветствия в файле. Когда я открываю сайт в своем браузере и у меня активная сессия, код работает отлично.
Кто-нибудь знает, что делать?

Спасибо

Комментарии:

1. они, вероятно, напишут несколько файлов cookie после вашего поста. Они должны быть включены в заголовки вашего следующего запроса, если загрузка требует авторизации. (или просто используйте Selenium и убедитесь, что вы даете браузеру время для записи файлов cookie…)

Ответ №1:

Вам следует попробовать этот код загрузки

 def download_image_from_url(image_url, path):
    img_data = requests.get(image_url).content

    with open(path, 'wb') as handler:
        handler.write(img_data)
 

Комментарии:

1. Загрузка работает нормально, если я копирую файлы cookie из браузера. Но py-запросы не могут генерировать/восстанавливать эти файлы cookie для