#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 для