以谷歌某链接为例:
from urllib.parse import unquote
from urllib.parse import quote
from urllib.parse import urlencode
def jiemi(url):
url2 = unquote(url)
key = 'req='
jiami = quote(url2[url2.find(key) + len(key):]).replace('/', '%2F')
url3 = url2[:url2.find(key)+len(key)] + jiami
# a = {"comparisonItem":[{"keyword":"/m/0ckhqlx","geo":"","time":"2022-01-01+2022-07-01"}],"category":0,"property":""}
# print(a)
# url4 = url2[:url2.find(key)+len(key)] + urlencode(a) + "&tz=-480" # 对字典加密
# 这样代码应该是google
url3 = url3.replace("""%3A""", ':').replace("""%2C""", ',').replace("""%2B""", '+').replace("""%3D""", '=').replace("""%26""", '&')
print("加解密前后数据是否相等", url3 == url)
return url2
def jiami(url2):
key = 'req='
jiami = quote(url2[url2.find(key) + len(key):]).replace('/', '%2F').replace("""%3A""", ':').replace("""%2C""", ',').replace("""%2B""", '+').replace("""%3D""", '=').replace("""%26""", '&')
url3 = url2[:url2.find(key)+len(key)] + jiami
# a = {"comparisonItem":[{"keyword":"/m/0ckhqlx","geo":"","time":"2022-01-01+2022-07-01"}],"category":0,"property":""}
# print(a)
# url4 = url2[:url2.find(key)+len(key)] + urlencode(a) + "&tz=-480" # 对字典加密
return url3
if __name__ == '__main__':
url = "https://trends.google.com/trends/api/explore?hl=zh-CN&tz=-480&req=%7B%22comparisonItem%22:%5B%7B%22keyword%22:%22%2Fm%2F0ckhqlx%22,%22geo%22:%22%22,%22time%22:%222022-01-01+2022-07-01%22%7D%5D,%22category%22:0,%22property%22:%22%22%7D&tz=-480"
url2 = jiemi(url)
url3 = jiami(url2)
print(url)
print(url2)
print(url3)
print(url == url3)