在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解析為各個部分。