在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解析为各个部分。