我知道在python中使用请求模块我可以下载文件。如果链接形式为:
https://mypage/filename.extension
这是相对简单的。但是,请求的形式在以下几行中的情况如何:
https://mypage/generate_report?export=csv
如果将网址输入浏览器,则会提示我打开或保存文件。如何保存浏览器提示我下载的文件?
谢谢!
编辑:在我的特定用例中,URL生成链接,然后提示下载文件。有问题的文件实际上并不存在"存在"在URL中,这就是为什么注释中提到的常用方法可能不适用于此。
编辑:我尝试了前两个解决方案:
How to download image using requests
即使它得到200回复,我也没有获得CSV内容,只有html:
import requests
import shutil
page = requests.get("https://mypage/generate_report?export=csv",auth=('usr','pass'),stream=True)
print(page.status_code)
if page.status_code == 200:
print('a')
with open('sf.csv', 'wb') as f:
page.raw.decode_content = True
shutil.copyfileobj(page.raw, f)