urllib
是 Python 的标准库之一,用于处理 URL 相关的操作。不过,urllib
本身是一个包,它包含了多个模块,如 urllib.request
、urllib.parse
、urllib.error
等。每个模块都有其特定的功能和参数使用方法。
下面我将分别展示 urllib.request
和 urllib.parse
模块中一些常用功能的使用方法和代码示例。
urllib.request
这个模块提供了打开和读取 URL 的功能。
import urllib.request
# 打开一个URL
response = urllib.request.urlopen('http://www.example.com')
# 读取数据
data = response.read()
# 将数据转换为字符串
text = data.decode('utf-8')
# 打印字符串
print(text)
urllib.parse
这个模块提供了用于解析 URL 的功能。
from urllib.parse import urlparse, urlencode
# 解析 URL
parsed_url = urlparse('http://www.example.com/path?name=ferret&color=purple')
print(parsed_url)
# 输出:ParseResult(scheme='http', netloc='www.example.com', path='/path', params='', query='name=ferret&color=purple', fragment='')
# 编码查询字符串
query_params = {'name': 'ferret', 'color': 'purple', 'age': None}
encoded_params = urlencode(query_params, doseq=True)
print(encoded_params)
# 输出:name=ferret&color=purple&age=
urllib.error
这个模块提供了处理 urllib.request
产生的错误的功能。
import urllib.request
from urllib.error import URLError, HTTPError
try:
response = urllib.request.urlopen('http://www.example.com/invalid')
except HTTPError as e:
print('HTTP error:', e.code)
except URLError as e:
print('URL error:', e.reason)
else:
# 读取数据和处理
pass
这些是使用 urllib
包中一些模块和功能的简单示例。在实际应用中,你可能需要根据具体需求选择使用不同的模块和功能。