urllib.parse.
parse_qs
(qs,keep_blank_values = False,strict_parsing = False,encoding ='utf-8',errors ='replace',max_num_fields = None )描述
解析作為字符串參數給出的查詢字符串(類型為 application / x-www-form-urlencoded的數據)。數據作為字典返回。字典鍵是唯一的查詢變量名稱,而值是每個名稱的值列表。
可選參數keep_blank_values是一個標誌,指示是否應將百分比編碼的查詢中的空白值視為空白字符串。真值表示應將空格保留為空白字符串。默認的false值指示將忽略空白值並將其視為未包含空白值。
在版本3.2中更改:添加編碼和錯誤參數。
在3.8版中進行了更改:添加了max_num_fields參數。
parse
- KK[pɑrs]
- 符合語法
from
urllib import parse
url =
'https://docs.python.org/3.5/search.html?q=parse&check_keywords=yes&area=default'
parseResult
= parse.urlparse(url)
print(parseResult)
#獲取某個參數
param_dict
= parse.parse_qs(parseResult.query)
print(param_dict)
#獲取陣列
q =
param_dict['q'][0]
print(q)
#注意:加號會被解碼,可能有時並不是我們想要的
param_dict
= parse.parse_qs('proxy=183.222.102.178:8080&task=XXXXX|5-3+2')
print(param_dict)
-------------------------------------------------執行結果----------------------------------------------------------
ParseResult(scheme='https', netloc='docs.python.org', path='/3.5/search.html', params='', query='q=parse&check_keywords=yes&area=default', fragment='')
{'q': ['parse'], 'check_keywords': ['yes'], 'area': ['default']}
parse
{'proxy': ['183.222.102.178:8080'], 'task': ['XXXXX|5-3 2']}
====================================================================
>>> from urllib import parse
>>> a = 'Id=123 & type=test1 %2C test2 %2C test3 & Date1=2018-03-25 & Date2=2018-04-26'
>>> parse.parse_qs(a).items()
dict_items([('Id', ['123 ']), (' type', ['test1 , test2 , test3 ']), (' Date1', ['2018-03-25 ']), (' Date2', ['2018-04-26'])])
>>> dict([(k,v[0]) for k,v in parse.parse_qs(a).items()])
{'Id': '123 ', ' type': 'test1 , test2 , test3 ', ' Date1': '2018-03-25 ', ' Date2': '2018-04-26'}
>>>
沒有留言:
張貼留言