尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

python 基础之 urllib.parse 的编解码urlencode,urldecode,参数解析urlparse,parse_qs,parse_qsl

python 基础之 urllib.parse 的编解码urlencode,urldecode,参数解析urlparse,parse_qs,parse_qsl 当url地址含有中文或者参数有中文的时候这个算是很正常了但是把这样的url作为参数传递的时候最常见的callback需要把一些中文甚至’/做一下编码转换。所以对于一些中文或者字符url不识别的则需要进行转换转换结果如下一、urlencodeurllib库里面有个urlencode函数可以把key-value这样的键值对转换成我们想要的格式返回的是a1b2这样的字符串比如import urllib.parse word {wd:风华浪浪} urlhttp://www.baidu.com dataurllib.parse.urlencode(word) print(data)结果如下如果只想对一个字符串进行urlencode转换urllib提供另外一个函数quote()import urllib.parse s 风华绝代小浪浪 s urllib.parse.quote(s) print(s)输出结果为二、urldecode当urlencode之后的字符串传递过来之后接受完毕就要解码了——urldecode。urllib提供了unquote()这个函数可没有urldecode()TypeError: a bytes-like object is required, not strimport urllib.parse dede b%E8%BF%98%E6%AC%BE%E6%88%90%E5%8A%9F%E9%A1%B5decode() srt1 urllib.parse.unquote(dede.decode()) print(srt1 )输出结果为import urllib.parse word {wd:风华浪浪} # 通过urllib.urlencode()方法将字典键值对按URL编码转换从而能被web服务器接受。 keyword urllib.parse.urlencode(word) # 通过urllib.unquote()方法把 URL编码字符串转换回原先字符串。 urllib.parse.unquote(wd%%E9%A3%8E%E5%8D%8E%E7%BB%9D%E4%BB%A3%E5%B0%8F%E6%B5%AA%E6%B5%AA)from urllib.parseimporturlparse,parse_qs urlDemoApp://statusAwarenessDetail?imei3572505perceptionId37700qsparse_qs(urlparse(url).query)perception_idqs.get(perceptionId,[None])[0]print(perception_id)from urllib.parseimporturlparse,parse_qsl urlDemoApp://statusAwarenessDetail?imei3572505perceptionId37700paramsdict(parse_qsl(urlparse(url).query))print(params[perceptionId])#37700
返回列表