url解碼

在爬蟲或者python的一些文件下載過程中經常碰到的一個問題就是對url進行編碼和解碼,python提供了很方便的接口進行調用。

  • url中的query帶有特殊字符(不是url的保留字)時需要進行編碼。
  • 當url中帶有漢字時,需要特殊的處理才能正確編碼,以下都只針對這種情形,當然也適用於純英文字符的url。

小編在今天的項目過程中就遇到了這樣的問題,因爲url裏面涉及到中文字段,一直會顯示成unicode形式,試過encode、decode各種方法、給html設置頭屬性、給BeautifulSoup爬取的時候指定編碼都不行,後來在萬能的網友的提醒下知道是url編碼方面的問題,然後去了解這個模塊,但是很多方法urllib下已經沒有了,比如查詢方法

也是幾番掙扎,最後在羣內某大佬的指點下學習到這個方法,普及給大家

from urllib.parse import unquote

src = "https://maya-music.oss-cn-beijing.aliyuncs.com/%E9%BB%84%E8%80%80%E6%98%8E%20-%20%E6%9A%97%E6%B6%8C%28Live%29%20-%20live.mp3"
print(src)
#*****輸出*****
https://maya-music.oss-cn-beijing.aliyuncs.com/%E9%BB%84%E8%80%80%E6%98%8E%20-%20%E6%9A%97%E6%B6%8C%28Live%29%20-%20live.mp3
 
src_new = unquote(src, 'utf-8')
print(src_new)

#*****輸出*****
https://maya-music.oss-cn-beijing.aliyuncs.com/黃耀明 - 暗涌(Live) - live.mp3

關於更多的url編碼解碼的問題大家可以具體去看看urllib庫相關的模塊,這裏只是給大家普及一個小方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章