【问题标题】:Python Requests can't download filePython请求无法下载文件
【发布时间】:2021-08-21 00:49:04
【问题描述】:

我的代码:

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=2021&x=xls", allow_redirects=True, headers=headers,cookies=r.cookies)
       
        output = open('file.xls', 'wb')
        output.write(r.content)
        output.close()

我登录网站下载一个 xls 文件,我只是在文件中获得了欢迎站点的乙基代码。当我在浏览器中打开该站点并进行活动会话时,代码可以完美运行。 有人知道该怎么做吗?

谢谢

【问题讨论】:

  • 他们可能会在您发帖后写一些 cookie。如果下载需要授权,这些需要包含在您的下一个请求的标头中。 (或者只使用 Selenium 并确保您给浏览器时间来编写 cookie...)

标签: python selenium python-requests


【解决方案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)

【讨论】:

  • 如果我从浏览器复制 cookie,下载工作正常。但是 py-requests 无法生成/重新生成这些 cookie 以
猜你喜欢
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
  • 2021-09-04
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多