千家信息网

python中怎么使用requests下载文件

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍了python中怎么使用requests下载文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中怎么使用requests下载文件文章都会有所收
千家信息网最后更新 2024年09月22日python中怎么使用requests下载文件

这篇文章主要介绍了python中怎么使用requests下载文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中怎么使用requests下载文件文章都会有所收获,下面我们一起来看看吧。

使用requests下载文件

1、获取token,或者session

如不需要可忽略

login_url = "http://xxxx/api/auth/login"login_data = {"username":"test3","password":"123456"}login_res = requests.post(url=login_url,data = login_data)token = login_res.json()["data"]["token"]

2、获取下载路径

如果请求后直接返回文件内容,可直接进行第三步

batch_url = "http://xxxx/api/models/batch"batch_data = {"ids":"[4]","version_number":"[309]"}headers = {"Authorization":"bearer %s" % token}batch_res = requests.get(url=batch_url,params=batch_data,headers=headers)

3、根据下载路径拼接下载url

完成文件下载以及写入

file_path = batch_res.json()['data']['file_path']file_name = batch_res.json()['data']['file_name']down_url = "http://xxxx/api/report/down"down_data = {"type":2,             "file_path":file_path,             "file_name":file_name,             "token":token             }down_res = requests.get(url=down_url,params=down_data)with open(file_name,"wb") as code:    code.write(down_res.content)

备注:

第二步返回json数据,包含路径、文件名,实际是文件生成过程,第三步下载在服务端生成的文件,有时第三步无法在页面F12查看到,需要使用抓包工具获取

用requests.get下载文件

不知道大家有没有遇到这样的问题

就是url源不稳定,时不时下载到空文件,我终于想到了一个解决的好办法,分享给大家。

def downloadfile(url,filename=None):  if(not filename):                                                      #如果参数没有指定文件名    filename=os.path.basename(url)                  #取用url的尾巴为文件名  leng=1  while(leng==1):    torrent=requests.get(url,headers=headers)    leng=len(list(torrent.iter_content(1024)))  #下载区块数    if(leng==1):                                                            #如果是1 就是空文件 重新下载      print(filename,'下载失败,重新下载')      sleep(1)    else:      print(path,'下载完成')  with open(filename,'wb') as f:                                   for chunk in torrent.iter_content(1024): #防止文件过大,以1024为单位一段段写入      f.write(chunk)

关于"python中怎么使用requests下载文件"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python中怎么使用requests下载文件"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

文件 内容 文件名 知识 路径 就是 篇文章 生成 价值 区块 单位 参数 备注 实际 尾巴 工具 操作简单 数据 文件下载 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 cf在哪些国家都有服务器 为什么数据库没有办法修改属性 中国会议文献数据库 计算机软件开发标准或规范 杭州大叔网络技术有限公司 网络安全2018培训 dream网页数据库设计开发 保定软件开发培训多少钱 印度的网络安全与法律 蛋白质结构数据库中的pdb文件 西南大学数据库技术作业 绝地求生二连接不到服务器怎么办 乐园服务器动不动就炸服 2000数据库安装及连接 工业网络安全建设方案 网络安全中的社会工程是什么 用户实名信息数据库设计 塔防纪元每天只开一个服务器吗 浙江挑选软件开发供应商 消防站制作基础档案数据库 企业网络安全论文5000字 epidata软件数据库 海伦市政府网络安全 服务器照片管理app c访问数据库如何加锁 神武新区服务器等级 守护网络安全构建和谐校园内容 数据库应用考试 超融合 数据库 浙江机电软件开发试验设备
0