百度搜索(URL)中漢字轉爲什麼編碼問題

小惑有觀察

最近在做有關爬蟲的東西,拿百度練手,在定向爬蟲發現百度的搜索鏈接中

有個很有意思的情況。

衆所周知,百度首頁的鏈接爲 https://www.baidu.com/

假定我們搜索迪麗熱巴,網頁的URL變爲
搜索鏈接

複製該鏈接再粘貼是,會發現搜索關鍵詞’迪麗熱巴’變

爲’%E8%BF%AA%E4%B8%BD%E7%83%AD%E5%B7%B4

那麼這個網址是怎麼變化的了?

https://www.baidu.com/s?wd=%E8%BF%AA%E4%B8%BD%E7%83%AD%E5%B7%B4&

(’&'後還有一些內容,防治泄露個人信息我給刪了)

因爲中文漢字在URL不符合編碼方式,於是就採取了轉化編碼。

舉個栗子

#	迪麗熱巴
key_word = '迪麗熱巴'
key_word = urllib.parse.quote(key_word,encoding = 'utf-8', errors = 'replace')

解釋:

parse爲解析功能

quote爲編碼功能

errors是爲了替換加上 ’ % '功能

運行結果非常amazing:
在這裏插入圖片描述

對比一下百度鏈接:
https://www.baidu.com/s?wd=%E8%BF%AA%E4%B8%BD%E7%83%AD%E5%B7%B4&

補充:

運行時記得加上頭文件

import urllib

(我發現很多帖子中講代碼很多都忘記說頭文件的時)

沒有urllib直接在cmd中pip install urllib

如果出錯請自行百度。

另附一張文不對題的圖
迪麗熱巴
感興趣的小夥伴可以關注我的個人公衆號:小惑有觀察。
個人公衆號

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