python中对url编码解码处理

解码

import urllib.parse

url = "https://market.m.taobao.com/apps/market/content/index.html?contentId=210495552952&spm=a2141.7631544.t1.p602&scm=1007.11419.126969.0&wh_weex=true&wx_navbar_transparent=true&business_spm=a2141.12288619&source=youhh_tuji&params=%7B%22yhhListContentId%22%3A%22210495552952%22%7D&utparam=%7B%22x_object_type%22%3A%22content_item%22%2C%22x_item_ids%22%3A569376571773%2C%22x_object_id%22%3A%22210495552952%22%7D"

decode_url = urllib.parse.unquote(url)

print(decode_url)

"""
转换后
https://market.m.taobao.com/apps/market/content/index.html?contentId=210495552952&spm=a2141.7631544.t1.p602&scm=1007.11419.126969.0&wh_weex=true&wx_navbar_transparent=true&business_spm=a2141.12288619&source=youhh_tuji&params={"yhhListContentId":"210495552952"}&utparam={"x_object_type":"content_item","x_item_ids":569376571773,"x_object_id":"210495552952"}
"""

编码

urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如:

import urllib.parse

url = 'https://market.m.taobao.com/apps/market/content/index.html?contentId=210495552952&spm=a2141.7631544.t1.p602&scm=1007.11419.126969.0&wh_weex=true&wx_navbar_transparent=true&business_spm=a2141.12288619&source=youhh_tuji&params={"yhhListContentId":"210495552952"}&utparam={"x_object_type":"content_item","x_item_ids":569376571773,"x_object_id":"210495552952"}'


params = {
    "yhhListContentId":"210495552952",

}
utparam = {
    "x_object_type":"content_item",
    "x_item_ids":569376571773,
    "x_object_id":"210495552952"
}

params = urllib.parse.urlencode(params)
utparam = urllib.parse.urlencode(utparam)

url1 = 'https://market.m.taobao.com/apps/market/content/index.html?contentId=210495552952&spm=a2141.7631544.t1.p602&scm=1007.11419.126969.0&wh_weex=true&wx_navbar_transparent=true&business_spm=a2141.12288619&source=youhh_tuji' + "&" + params + '&' + utparam

print(url1)

"""
转换后
https://market.m.taobao.com/apps/market/content/index.html?contentId=210495552952&spm=a2141.7631544.t1.p602&scm=1007.11419.126969.0&wh_weex=true&wx_navbar_transparent=true&business_spm=a2141.12288619&source=youhh_tuji&yhhListContentId=210495552952&x_object_type=content_item&x_item_ids=569376571773&x_object_id=210495552952
"""

 

posted @ 2020-05-22 11:48  叫我大表哥  阅读(3107)  评论(0编辑  收藏  举报