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

完成

測試結果:

和網址中的鏈接一模一樣。成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM