在Python3中,urllib.parse
模块提供了urlencode
和parse_qs
函数,用于URL编码和解码。
urlencode
函数用于将字典或包含键值对的元组列表编码为URL查询字符串。它的用法如下:from urllib.parse import urlencode
params = {
'name': 'John Doe',
'age': 30,
'city': 'New York'
}
query_string = urlencode(params)
print(query_string)
输出结果为:name=John+Doe&age=30&city=New+York
parse_qs
函数用于将URL查询字符串解码为字典。它的用法如下:from urllib.parse import parse_qs
query_string = 'name=John+Doe&age=30&city=New+York'
params = parse_qs(query_string)
print(params)
输出结果为:{'name': ['John Doe'], 'age': ['30'], 'city': ['New York']}
注意:parse_qs
函数返回的值是一个字典,其中每个键对应的值是一个列表。如果你只想获取单个值,可以使用params['name'][0]
来获取。如果URL查询字符串中有重复的键,parse_qs
函数会将其作为列表的元素。
另外,如果你想将URL编码为完整的URL,包括协议、域名、路径和查询字符串,可以使用urlunparse
函数。如果你想将完整的URL解析为各个部分,可以使用urlparse
函数。这两个函数也在urllib.parse
模块中提供。
总结:
urlencode
函数用于将字典或包含键值对的元组列表编码为URL查询字符串。
parse_qs
函数用于将URL查询字符串解码为字典。
urlunparse
函数用于将URL编码为完整的URL。
urlparse
函数用于将完整的URL解析为各个部分。