Python 在HTTP上下载文件

Python 在HTTP上下载文件

在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库下载文件

在Python中,requests库使用其get方法进行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内置的urllib和requests库来在Python中通过HTTP下载文件。requests库提供了一个更高级的接口,比urllib更用户友好。requests库提供了一个更简单的下载文件的方法比urllib库。任何一个库都可以用来在Python中下载文件。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程