在Python中通过HTTP下载文件

2023年 8月 28日 159.3k 0

在 Python 中,我们使用 Python 内置库(例如 urllib、request 和 httplib)通过 HTTP 下载文件。HTTP 是一种超文本传输​​协议,用于通过万维网访问数据。HTTP 请求通常由客户端(例如 Web 浏览器)发起,并发送到托管所请求资源的服务器。请求通常包括方法(例如 GET 或 POST)、标识资源的统一资源定位符 (URL) 以及提供有关请求的附加信息的可选标头。在本文中,我们将了解如何使用 urllib 和 request 库来下载文件。

使用 urllib 下载文件

Urllib 包含 urllib.request 等子模块,可用于轻松从互联网下载文件。 urllib.request 将文件的 URL 和您想要为下载的文件提供的文件名作为输入。

语法

urllib.request.urlretrieve(URL, filename)

登录后复制

这里urllib.request.urlretrieve有两个参数。一个是互联网上文​​件的 URL,另一个是您要为下载的文件指定的文件名。

示例

在下面的示例中,使用 urllib 库通过 HTTP 下载文件,首先导入 urllib.request 模块,然后调用 urllib.request 模块的 urlretrive 函数。传递要下载的文件的 URL 以及下载文件后要保留的文件名。

如果传递了无效的 URL 或文件不可下载,则会引发异常。

import urllib.request
from PIL import Image

url = 'https://www.python.org/static/img/python-logo.png'
filename = 'python-logo.png'

urllib.request.urlretrieve(url, filename)

with open(filename, 'rb') as f:
image = Image.open(f)
image.show()

登录后复制

输出

在Python中通过HTTP下载文件

使用 requests 库下载文件

requests 库使用其 get 方法在 Python 中发出 HTTP 请求。它只是将文件的 URL 作为输入,发出下载文件的 get 请求,并返回下载的文件作为响应。

语法

requests.get(URL)

登录后复制

这里的requests.get()方法中的URL是要通过互联网下载的文件的URL。

示例

在下面的示例中,我们导入 requests 库并指定要下载的文件的 URL 以及要为下载的文件指定的名称。然后,我们导入 requests 库并使用 requests.get() 方法下载 Python 徽标。该方法返回一个包含文件内容的响应对象。最后,我们读取下载的文件并将其打印在屏幕上。

import requests

url = 'https://www.python.org/static/img/python-logo.png'
filename = 'python-logo.png'

response = requests.get(url)

from PIL import Image

with open(filename, 'rb') as f:
image = Image.open(f)
image.show()

登录后复制

输出

在Python中通过HTTP下载文件

结论

在本文中,我们讨论了如何在 Python 中使用 Python 内置库(如 urllib 和 requests 库)通过 HTTP 下载文件。 requests库提供了更高层次的接口,比urllib更加用户友好。 requests 库提供了比 urllib 库更简单的下载文件的方法。任何库都可用于在 Python 中下载文件。

以上就是在Python中通过HTTP下载文件的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论