urllib.parse
使用urllib.parse 来进行urlencode 和 urldecode 。
注意, import urllib会报错, 需要import urllib.parse
https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse
urllib.parse.urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=quote_plus)
urllib.parse.``unquote`(*string*, *encoding='utf-8'*, *errors='replace'*)
将postData进行urldecode后,转换为dict
# postData 为字符串,类似 id=1&name=zhangsan&age=19
tmp = urllib.parse.unquote(response.request.postData)
post = dict(map(lambda x: (x.split('=')), tmp.split('&')))
log.info("获取数据,请求为: %s", post)
- 将字符串按&分割为列表
- 对于列表中每个元素,按等号分割,包装为一个元组 (x.split(=))
- 将元组转换为dict
类似的,可以将两个列表转换为dict
>>> aa =[1,2,3,4]
>>> bb =['a','b','c','d']
>>> dict(zip(bb,aa))
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
将元组转换为dict
>>> a = [(1,2),(3,4),(5,6)]
>>> dict(a)
{1: 2, 3: 4, 5: 6}