美文网首页
urldecode 及转换为dict

urldecode 及转换为dict

作者: 金刚_30bf | 来源:发表于2019-07-12 14:30 被阅读0次

    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)
    
    1. 将字符串按&分割为列表
    2. 对于列表中每个元素,按等号分割,包装为一个元组 (x.split(=))
    3. 将元组转换为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}
    

    相关文章

      网友评论

          本文标题:urldecode 及转换为dict

          本文链接:https://www.haomeiwen.com/subject/fwqekctx.html