urllib.request 是 Python 标准库中的一个模块,它提供了一系列用于获取网络资源的函数和类。使用 urllib.request 模块可以轻松地从互联网上下载文件、获取网页内容、发送 HTTP 请求等。使用步骤如下:
一、准备工作
开始使用 urllib.request 模块之前,需要导入该模块:
import urllib.request
二、获取网页内容
1. 使用 urlopen() 函数获取网页内容
urllib.request.urlopen() 函数用于打开一个 URL,并返回一个类似文件对象的响应。可以使用 read() 方法读取响应内容。
# 获取百度首页的内容
url = 'https://www.baidu.com'
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
print(html)
2. 使用 Request 对象发送 HTTP 请求
对于一些需要进行特殊设置的请求,可以使用 Request 对象来构建请求。例如,可以设置请求头信息、设置请求方法等。
# 设置请求头信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
request = urllib.request.Request(url, headers=headers)
# 发送请求
response = urllib.request.urlopen(request)
# 获取响应内容
html = response.read().decode('utf-8')
print(html)
三、下载文件
使用 urllib.request.urlretrieve() 函数可以下载文件。
# 下载文件
url = 'https://www.example.com/file.zip'
filename = 'file.zip'
urllib.request.urlretrieve(url, filename)
四、完整示例代码
import urllib.request
# 获取百度首页的内容
url = 'https://www.baidu.com'
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
print(html)
# 下载文件
url = 'https://www.example.com/file.zip'
filename = 'file.zip'
urllib.request.urlretrieve(url, filename)