Python 提供多种从互联网下载文件的方法,可以使用 urllib
包或 requests
库通过 HTTP 进行下载。本教程将介绍如何使用这些库通过 Python 从 URL 下载文件。
requests
库
requests
是 Python 中最流行的库之一。它允许发送 HTTP/1.1 请求,无需手动将查询字符串添加到 URL 或对 POST 数据进行表单编码。
requests
库可以执行许多功能,包括:
- 添加表单数据
- 添加多部分文件
- 访问 Python 的响应数据
发出请求
首先,需要安装该库,方法很简单:
pip install requests
要测试安装是否成功,可以在 Python 解释器中简单地输入以下命令:
import requests
如果安装成功,不会出现错误。
HTTP 请求包括:
- GET
- POST
- PUT
- DELETE
- OPTIONS
- HEAD
发出 GET 请求
发出请求非常简单,如下所示:
import requests req = requests.get("https://www.google.com")
上述命令将获取 Google 网页并将信息存储在 status_code
中。
import requests req = requests.get("https://www.google.com") req.status_code 200 # 200 表示请求成功
如果想知道 Google 网页的编码类型呢?
req.encoding 'ISO-8859-1'
可能还想了解响应的内容:
req.text
这只是响应内容的截断部分。
<code>'<meta content="Search the world\'s information, including webpages, imag...'</code>
发出 POST 请求
简单来说,POST 请求用于创建或更新数据,尤其用于表单提交。
假设有一个注册表单,需要输入电子邮件地址和密码。单击注册提交按钮时,POST 请求如下所示:
data = {" email req='requests.post("http://www.google.com",' params="data)</pre"> <p>发出 PUT 请求</p> <p>PUT 请求类似于 POST 请求,用于更新数据。例如,以下 API 显示了如何发出 PUT 请求:</p> <pre class="brush:php;toolbar:false">data = {"name": "tutsplus", "telephone": "12345"} r.put("http://www.contact.com", params=data)
发出 DELETE 请求
顾名思义,DELETE 请求用于删除数据。以下是一个 DELETE 请求的示例:
data = {'name': 'Tutsplus'} url = "https://www.contact.com/api/" response = requests.delete(url, params=data)
urllib
包
urllib
包收集了用于处理 URL 的多个模块:
-
urllib.error
包含urllib.parse
引发的异常,用于解析 URL -
robots.txt
文件
urllib.request
如下所示:
import urllib.request with urllib.request.urlopen('http://python.org/') as response: html = response.read()
如果希望检索互联网资源并将其存储,可以通过 urlretrieve()
函数进行:
import urllib.request filename, headers = urllib.request.urlretrieve('http://python.org/') html = open(filename)
使用 Python 下载图像
在此示例中,将使用 requests
库和 urllib
模块下载此示例图像。
url = 'https://www.python.org/static/opengraph-icon-200x200.png' # 使用 urllib 下载 # 导入 urllib 库 import urllib.request # 将网络对象复制到本地文件 urllib.request.urlretrieve(url, "python.png") # 使用 requests 下载 # 导入 requests 库 import requests # 以二进制格式下载 url 内容 r = requests.get(url) # open 方法打开系统上的文件并写入内容 with open("python1.png", "wb") as code: code.write(r.content)
使用 Python 下载 PDF 文件
在此示例中,将下载关于 Google 趋势的 PDF 文件。
url = 'https://static.googleusercontent.com/media/www.google.com/en//googleblogs/pdfs/google_predicting_the_present.pdf' # 使用 urllib 下载 # 导入 urllib 包 import urllib.request # 将网络对象复制到本地文件 urllib.request.urlretrieve(url, "tutorial.pdf") # 使用 requests 下载 # 导入 requests 库 import requests # 以二进制格式下载文件内容 r = requests.get(url) # open 方法打开系统上的文件并写入内容 with open("tutorial1.pdf", "wb") as code: code.write(r.content)
使用 Python 下载 Zip 文件
在此示例中,将下载 GitHub 存储库的内容并将文件存储在本地。
pip install requests
使用 Python 下载视频
在此示例中,将下载一个视频讲座。
import requests
使用 Python 下载 CSV 文件
还可以使用 requests
和 urllib
库下载 CSV 文件,并使用 csv
模块处理响应。让我们使用一些示例 CSV 地址数据。
import requests req = requests.get("https://www.google.com")
结论
本教程介绍了最常用的文件下载方法以及最常见的文件格式。尽管使用 urllib
模块时编写的代码较少,但由于其简单性、流行性和许多附加功能(包括:保持活动和连接池、具有 cookie 持久性的会话、浏览器样式的 SSL 验证、自动内容解码、身份验证、自动解压缩、Unicode 响应正文、HTTP(S) 代理支持、多部分文件上传、流下载、连接超时、分块请求、.netrc
支持),因此更推荐使用 requests
模块。
以上是如何在Python中下载文件的详细内容。更多信息请关注PHP中文网其他相关文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

如何解决jieba分词在景区评论分析中的问题?当我们在进行景区评论分析时,往往会使用jieba分词工具来处理文�...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境