1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| from urllib import parse
url = 'https://www.baidu.com/s?ie=utf-8&wd=%E4%BD%A0%E5%A5%BD'
# 解析成ParseResult对象
parsed = parse.urlparse(url)
# 解析成字典对象(默认是有序字典)
parsed_dict = dict(parsed._asdict())
# 解析query查询参数为字典(单值)
parsed_query_dict = dict(parse.parse_qsl(parsed.query))
# 解析query查询参数为字典(值为列表)
parsed_query_dict_list = dict(parse.parse_qs(parsed.query))
# 将query查询参数转字符
unparse_query_string = parse.urlencode(parsed_query_dict)
# URL的组成部分
components = (parsed.scheme, parsed.netloc, parsed.path, parsed.params, unparse_query_string, parsed.fragment)
# 根据模块组合成URL
assembly = parse.urlunparse(components)
print('示例: ', url)
print('URL转字典: ', parsed_dict)
print('URL转字典query(单值类型): ', parsed_query_dict)
print('URL转字典query(列表类型): ', parsed_query_dict_list)
print('字典转URL: ', assembly)
|