返回顶部
首页 > 资讯 > 后端开发 > Python >python 如何使用requests下载文件
  • 185
分享到

python 如何使用requests下载文件

2024-04-02 19:04:59 185人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录使用requests下载文件1、获取token,或者session2、获取下载路径3、根据下载路径拼接下载url用requests.get下载文件不知道大家有没有遇到这样的问题使

使用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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: python 如何使用requests下载文件

本文链接: https://lsjlt.com/news/138939.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 如何使用requests下载文件
    目录使用requests下载文件1、获取token,或者session2、获取下载路径3、根据下载路径拼接下载url用requests.get下载文件不知道大家有没有遇到这样的问题使...
    99+
    2024-04-02
  • python如何使用requests下载文件
    这篇文章主要介绍了python如何使用requests下载文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。requests可以返回HTTP的meta信息。import&nb...
    99+
    2023-06-17
  • python中怎么使用requests下载文件
    这篇文章主要介绍了python中怎么使用requests下载文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中怎么使用requests下载文件文章都会有所收获,下面我们一起来看看吧。使用reque...
    99+
    2023-06-29
  • python如何使用urllib.request下载文件
    这篇文章主要为大家展示了“python如何使用urllib.request下载文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用urllib.request下载文件”这篇文章...
    99+
    2023-06-17
  • python使用requests模块下载文件并获取进度提示
    使用python3写了一个获取某网站文件的小脚本,使用了requests模块的get方法得到内容,然后通过文件读写的方式保存到硬盘同时需要实现下载进度的显示 安装模块pip3 install requests&...
    99+
    2023-01-31
    进度 模块 提示
  • python如何使用wget工具下载文件
    小编给大家分享一下python如何使用wget工具下载文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!wgetwget是Linux下的一个命令行下载工具,在Py...
    99+
    2023-06-17
  • 如何使用ByteArrayOutputStream下载文件
    目录使用ByteArrayOutputStream下载文件使用POI导出数据,然后将其下载使用ByteArrayOutputStream解决IO乱码说下经过小结一下使用ByteArr...
    99+
    2024-04-02
  • 如何使用vbs下载文件
    这篇文章主要讲解了“如何使用vbs下载文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用vbs下载文件”吧!说到使用vbs下载文件是不是想到了XMLHTTP呢,呵呵,以下是比较经典的...
    99+
    2023-06-08
  • Python中如何使用HTTP库进行文件下载?
    在Python中,要进行文件下载,首先需要使用HTTP库。Python中有很多HTTP库可供使用,如urllib、requests、httplib等。在本篇文章中,我们将主要介绍使用requests库进行文件下载的方法。 安装reque...
    99+
    2023-09-21
    http 文件 面试
  • 如何使用Python自动下载网站所有文件
    这篇文章给大家分享的是有关如何使用Python自动下载网站所有文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。假如一个网站,里面有很多链接,有指向文件的,有指向新链接的,新的链接点击进去后,仍然是有指向文件的,...
    99+
    2023-06-14
  • python使用wget下载网络文件
    wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。ubuntu 安装wgetpip install wget从网络或本地硬盘下载文件(并解压)# -*- coding: utf-8...
    99+
    2023-01-31
    文件 网络 python
  • python requests post如何使用
    本篇内容主要讲解“python requests post如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python requests post如...
    99+
    2023-07-05
  • Python之requests如何使用
    本篇内容介绍了“Python之requests如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.文件上传我们知道requests可以...
    99+
    2023-07-06
  • Python:使用requests库下载图片(含完整源码)
    Python:使用requests库下载图片(含完整源码) 在这篇文章中,我将介绍如何使用Python的requests库实现下载图片的功能,并提供完整的源代码。 首先,我们需要安装requests库...
    99+
    2023-09-01
    python 开发语言
  • 如何在java中使用Servlet下载文件
    如何在java中使用Servlet下载文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。说明Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态...
    99+
    2023-06-06
  • VBS如何下载文件
    这篇文章给大家分享的是有关VBS如何下载文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。BLOG备份脚本时发现 CDO.MESSAGE可以访问网络下载东西,说是研究研究或许可以用来当下载者用。 于是研究了一会。...
    99+
    2023-06-08
  • Linux中如何使用wget命令下载文件
    这篇文章主要为大家展示了“Linux中如何使用wget命令下载文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何使用wget命令下载文件”这篇文章吧。wget命令wget命令用来...
    99+
    2023-06-27
  • vue如何使用文件流进行下载(newBlob)
    目录vue使用文件流进行下载(new Blob)封装方法vue下载文件流完整前后端代码vue使用文件流进行下载(new Blob) 封装方法 function getExel(url...
    99+
    2024-04-02
  • python wget下载文件
    </pre><pre name="code" class="python">import os os.system('wget '+args) wget常用参数 -c 断点续传 -t NUMBER 最大尝试连接次...
    99+
    2023-01-31
    文件 python wget
  • 使用python上传和下载文件到Fast
    1. 下载fdfs_client-py-1.2.6.tar.gz 2. 解压后进入目录执行"python setup.py install": 3. 新建测试文件test_fdfs.py,把下载解压后安装包的.../FastDFS/co...
    99+
    2023-01-31
    上传 文件 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作