python中Url链接编码处理(urlencode,urldecode)

做完了flask-web应用,这几天想用爬虫做个好玩的电影链接整合器,平时找电影都是在dytt或者dy2018之类的网站,在用dytt搜索电影《美国队长时》,发现他的搜索链接是这样的:http://s.dydytt.net/plus/search.php?kwtype=0&searchtype=title&keyword=%C3%C0%B9%FA%B6%D3%B3%A4

很明显就能看出来美国队长被编码成了%C3%C0%B9%FA%B6%D3%B3%A4这个,这个是url链接用的urlencode生成的,是web程序中使用的一种编码方式,python中可用urllib库中quote和unquote编码和解码,但是我用unquote解码后却是乱码,在这个网站(http://tool.chinaz.com/Tools/URLEncode.aspx)测试后发现这个网站用的文字编码方式是gb2312,问题解决:

test1 = '美国队长'.encode('gb2312')
test1_1 = quote(test1)
print(test1_1)

总结,

1。首先去这个网站(http://tool.chinaz.com/Tools/URLEncode.aspx)测试编码是什么格式的是utf8或者gb2312

2。然后把要编码的文字encode成所需格式

3。最后进行quote

完成

测试结果:

和网址中的链接一模一样。成功

原文地址:https://www.cnblogs.com/INnoVationv2/p/5837641.html