📜  Python Urllib模块(1)

📅  最后修改于: 2023-12-03 15:19:02.029000             🧑  作者: Mango

Python Urllib模块

urllib是Python标准库中用于HTTP请求的模块,它提供了一系列用于操作URL的函数。urllib模块由四个子模块组成:

  • urllib.request:用于HTTP请求。
  • urllib.response:用于HTTP响应。
  • urllib.parse:用于处理URL的解析和拼接。
  • urllib.error:用于错误处理。
import urllib.request
import urllib.parse
HTTP请求

urllib.request.urlopen函数用于向指定的URL发起HTTP请求,并返回响应对象。

response = urllib.request.urlopen('http://www.example.com')

响应对象可以使用read方法读取响应内容。

content = response.read()
HTTP响应

响应对象包含请求URL的响应信息。

response = urllib.request.urlopen('http://www.example.com')

# 状态码
response.status

# 响应头
response.headers

# 响应内容
response.read()
URL解析和拼接

urllib.parse模块用于处理URL的解析和拼接操作。

url = 'http://www.example.com/path?param=value#fragment'

# 解析URL
parsed_url = urllib.parse.urlparse(url)

# 获取URL中的数据
parsed_url.scheme    # http
parsed_url.netloc    # www.example.com
parsed_url.path      # /path
parsed_url.query     # param=value
parsed_url.fragment  # fragment

# 拼接URL
query = {'param1': 'value1', 'param2': 'value2'}
encoded_query = urllib.parse.urlencode(query)
url = urllib.parse.urlunparse(('https', 'www.example.com', '/path', '', encoded_query, ''))
错误处理

urllib.error模块用于处理HTTP请求过程中的错误信息。

try:
    response = urllib.request.urlopen('http://www.example.com')
except urllib.error.URLError as e:
    print(e.reason)