Python通过HTTP下载文件的两种实现方式

键盘旁的猫
键盘旁的猫
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍Python中通过HTTP协议下载文件的两种常用方法。首先讲解利用requests库的get方法获取内容并写入本地文件,其次介绍使用urllib2模块进行下载的操作流程。文中包含具体的代码示例,适用于需要批量或单独下载网络资源的场景,帮助开发者快速实现文件下载功能。

使用requests库下载文件

第一种方法是使用requests库的get函数。该方法通过发送HTTP GET请求获取目标资源,并将返回的二进制内容写入本地文件。例如,代码中定义了目标URL为http://200.20.3.20:8080/job/Compile/job/aaa/496/artifact/bbb.iso,随后在当前脚本所在目录下创建一个名为bbb.iso的文件,以二进制写入模式打开,并将请求返回的content属性内容写入该文件。


r = requests.get("http://200.20.3.20:8080/job/Compile/job/aaa/496/artifact/bbb.iso")
 
with open(os.path.join(os.path.dirname(os.path.abspath("__file__")),"bbb.iso"),"wb") as f:
  f.write(r.content)

使用urllib2模块下载文件

第二种方法是采用urllib2模块。这种方式直接调用urlopen函数打开指定的URL链接,读取全部数据后保存到本地变量中,最后将数据写入指定路径的文件。示例代码中,目标URL设置为http://200.21.1.22:8080/job/Compile/job/aaa/496/artifact/bbb.iso,程序先打印提示信息“downloading with urllib2”,接着获取文件数据并写入当前目录下的bbb.iso文件中,同样使用二进制写入模式。


import urllib2
print "downloading with urllib2"
url = '"http://200.21.1.22:8080/job/Compile/job/aaa/496/artifact/bbb.iso"'
f = urllib2.urlopen(url)
data = f.read()
with open(os.path.join(os.path.dirname(os.path.abspath("__file__")),"bbb.iso"),"wb") as f:
  f.write(data)

上述内容涵盖了Python中通过HTTP下载文件的主要实现手段,包括requests和urllib2两种方案。希望这些示例能对读者的学习有所帮助,也欢迎大家继续支持本站获取更多技术分享。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。