📅  最后修改于: 2023-12-03 15:18:35.444000             🧑  作者: Mango
在Python里面,我们常常需要使用网络来获取一些数据。Python提供了多个模块用于网络编程,其中 urllib 是其中的一个常用的模块。其中 urllib.request 模块是 Python 标准库中的模块,它用于打开和读取远程的网络资源。简单来说,就是用于访问 URL(统一资源定位符)。
在安装 urllib 之前,我们需要先安装 pip 工具。首先请确保已经安装好 Python 环境,然后在命令行输入以下命令:
$ pip install urllib
使用 urllib.request 可以轻松访问远程URL资源。
import urllib.request
url = "https://www.example.com"
response = urllib.request.urlopen(url)
print(response.read())
上面的代码中,我们先定义了要访问的URL,然后使用 urllib.request.urlopen() 方法打开这个 URL,最后使用 read() 方法获取到了响应结果。
除了使用 urllib.request.urlopen() 方法进行URL请求之外,还有其他一些常用的方法,用于 HTTP 请求、URL 编码等操作。以下是一些常用的方法:
通过 urllib.request.Request() 方法可以构造一个 HTTP 请求。这个方法可以传入请求 URL、请求头、请求数据等参数。代码实例:
import urllib.request
import json
url = "https://www.example.com"
headers = {'Content-Type': 'application/json'}
data = {'some': 'data'}
req = urllib.request.Request(url, headers=headers, data=json.dumps(data).encode())
response = urllib.request.urlopen(req)
print(response.read())
urllib.parse 是 Python 的一个内置模块,它主要用于 URL 的解析和编码等操作。
urlencode() 方法将一个字典类型的参数转化为 URL 编码参数。代码实例:
import urllib.parse
data = {'name': 'Test', 'age': 18}
result = urllib.parse.urlencode(data)
print(result) # name=Test&age=18
urlparse() 方法用于解析 URL,将 URL 拆分成各个部分。代码实例:
import urllib.parse
url = 'https://www.example.com/notebook/test.html?id=1#top'
result = urllib.parse.urlparse(url)
print(result.scheme) # https
print(result.netloc) # www.example.com
print(result.path) # /notebook/test.html
print(result.query) # id=1
print(result.fragment) # top
使用 urllib 可以轻松访问远程URL资源,同时也可以解析和编码 URL 等操作。只要掌握了几个常用的方法,便可快速编写 Python 程序。