python爬蟲中一個str類型的unicode字符串轉(zhuǎn)成中文的問題

本文主要介紹部分爬蟲在遇到%u5317%u4eac%u70e4%u9e2d這種類似unicode編碼的str類型數(shù)據(jù)時氛什,無法直接使用decode('unicode-escape')方法來轉(zhuǎn)成中文的時候,一個轉(zhuǎn)碼的解決方案匪凉,以及這個方案的思路!

今天在爬一個網(wǎng)站的時候屉更,遇到了一個網(wǎng)站,它的一些數(shù)據(jù)是通過ajax加載進來的一段json洒缀,它的value部分的內(nèi)容是像下面這樣子的:

%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22table-main%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22table-column%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%20class

9迕铡F奂健! 這是給人類閱讀的嗎萨脑?隐轩??

明顯不是2吃纭V俺怠!

不過這個自然是難不倒我們鹊杖,顯然是被urlencode轉(zhuǎn)碼了的嘛悴灵。因此通過urllib.parse.unquote便可以轉(zhuǎn)回人類可閱讀的形式了。

本以為這樣便可以輕松拿到數(shù)據(jù)骂蓖,結(jié)果一看后發(fā)現(xiàn)积瞒,還是圖樣圖森破了。因為它的中文部分是這樣的:

<td>%u5317%u4eac%u70e4%u9e2d</td>

WHAT 登下?茫孔??
這是存心為難我胖虎被芳?缰贝?

不過不用太緊張,根據(jù)我們的經(jīng)驗畔濒,也可以一眼就看出它是一段unicode編碼剩晴,只不過是將 \ 反斜杠 被換成了 % 百分號。

那么問題來了侵状,我們?nèi)绾螌⒁粋€str類型的%u5317%u4eac%u70e4%u9e2d 編碼赞弥,轉(zhuǎn)換成另一個str類型的中文呢?

在大量查閱了度娘之后壹将,發(fā)現(xiàn)大部分的回答只是說如何將unicode編碼轉(zhuǎn)換成str嗤攻,然而這個并不能解決我們這里遇到的問題毛嫉。因為一段正常的unicode編碼诽俯,是可以直接被python解釋器給解釋的,并不需要我們做其他的操作承粤。例如:

In[2]:'\u5317\u4eac\u70e4\u9e2d'
Out[2]: '北京烤鴨'

在尋找直接將其轉(zhuǎn)換為中文的方法的道路上被堵死后暴区,萬般無奈,只好自己尋找一個解決方案辛臊。這里的解決思路記錄如下:

  1. 從開發(fā)者的角度出發(fā)仙粱,將一段中文轉(zhuǎn)成unicode編碼
In[3]: '北京烤鴨'.encode('unicode-escape')
Out[3]: b'\\u5317\\u4eac\\u70e4\\u9e2d'
  1. 轉(zhuǎn)換完成后的結(jié)果是一個bytes類型,我們將其轉(zhuǎn)換為str類型
In[4]: '北京烤鴨'.encode('unicode-escape').decode()
Out[4]: '\\u5317\\u4eac\\u70e4\\u9e2d'
  1. 再用%百分號替換\\雙反斜杠后彻舰,就得到了被轉(zhuǎn)碼的unicode類型字符串了
In[4]: '北京烤鴨'.encode('unicode-escape').decode().replace('\\','%')
Out[4]: '%u5317%u4eac%u70e4%u9e2d'

amazing7ジ睢候味! 只需要3步,就實現(xiàn)了這個轉(zhuǎn)碼需求隔心,原來如此的簡單白群!

那么結(jié)果也就不言而喻了,只需要將這三步給逆向回去硬霍,也就可以將一段unicode類型的str轉(zhuǎn)換成中文了帜慢。

那么,開干吧唯卖!

In[5]: '%u5317%u4eac%u70e4%u9e2d'.replace('%','\\').encode().decode('unicode-escape')
Out[5]: '北京烤鴨'

所以粱玲,一個查了幾個小時度娘也沒有解決的問題,通過這簡單的幾步就可以解決了!!!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拜轨,一起剝皮案震驚了整個濱河市抽减,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撩轰,老刑警劉巖胯甩,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異堪嫂,居然都是意外死亡偎箫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門皆串,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淹办,“玉大人,你說我怎么就攤上這事恶复×” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵谤牡,是天一觀的道長副硅。 經(jīng)常有香客問我,道長翅萤,這世上最難降的妖魔是什么恐疲? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮套么,結(jié)果婚禮上培己,老公的妹妹穿的比我還像新娘。我一直安慰自己胚泌,他們只是感情好省咨,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著玷室,像睡著了一般零蓉。 火紅的嫁衣襯著肌膚如雪笤受。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天敌蜂,我揣著相機與錄音感论,去河邊找鬼。 笑死紊册,一個胖子當(dāng)著我的面吹牛比肄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播囊陡,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼芳绩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了撞反?” 一聲冷哼從身側(cè)響起妥色,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎遏片,沒想到半個月后嘹害,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡吮便,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年笔呀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片髓需。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡许师,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出僚匆,到底是詐尸還是另有隱情微渠,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布咧擂,位于F島的核電站逞盆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏松申。R本人自食惡果不足惜云芦,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望攻臀。 院中可真熱鬧焕数,春花似錦纱昧、人聲如沸刨啸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽设联。三九已至善已,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間离例,已是汗流浹背换团。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宫蛆,地道東北人艘包。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像耀盗,于是被迫代替她去往敵國和親想虎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 字符集和編碼簡介 在編程中常撑芽剑可以見到各種字符集和編碼舌厨,包括ASCII,MBCS,Unicode等字符集。確切的說...
    蘭山小亭閱讀 8,515評論 0 13
  • 引言 在使用Python的時候忿薇,最令人崩潰裙椭,同時也是最常見的錯誤信息之一,就是處理字符串時出現(xiàn)的UnicodeEr...
    耀凱考前突擊大師閱讀 3,968評論 0 3
  • 字符是用戶可以讀寫的最小單位。計算機所能支持的字符組成的集合筋栋,就叫做字符集你雌。字符集通常以二維表的形式存在。二維表的...
    劉惜有閱讀 8,131評論 2 14
  • 安裝Python3 1二汛,推薦使用anaconda婿崭,下載地址:https://www.anaconda.com/do...
    王大垚閱讀 948評論 0 0
  • 我記得FPA性格色彩創(chuàng)始人樂嘉先生將人的性格分為四種:明顯樂觀、愛玩樂的紅色肴颊,喜歡成為領(lǐng)導(dǎo)者的黃色氓栈,循規(guī)蹈矩,感情...
    食野望都閱讀 202評論 0 2