在 Python3 中,解析URL常用的方法是 urllib.parse 模块中的 urlparse、 parse_qs 和 parse_qsl 三个函数。urlparse 将 url 分割为 scheme、netloc、path、params、query 和 fragment 这几部分,如下图所示:
在 urlparse 的基础上,parse_qs 和 parse_qsl 可以获取 url 中更详细的信息,比如:
parse_qs 和 parse_qsl 的差别在于输出数据的结果稍有不同
完整代码如下:
from urllib.parse import urlparse, parse_qs, parse_qsl
url = 'http://sys.hibor.com.cn/baogao/home/index?abc=aUqRmPpQvNoPqRsRoPvNwOxO&def=mOoOmNvMiNqQpMjMmOxO8OuNMYmMqRvPnNpN&vidd=5&keyy=TYUGUIYUI&xyz=rQmQnOrRsQxPtQ&op=0'
# 1. 获取各主要参数
path = urlparse(url).path
params = urlparse(url).params
query = urlparse(url).query
# 2. 获取详细查询信息
parse_qs(urlparse(url).query) # {'key':['value']}
parse_qsl(urlparse(url).query) # [('key','value')]