作者imYu1234 (:))
看板Python
標題[問題] 網頁編碼問題 (unicode轉字串)
時間Thu Aug 9 01:53:16 2018
各位好, 小弟在爬網頁時遇到unicode的字符卻無法轉成正常文字, 想了解如何處理
(我是用python3)
這邊是從網頁中取得的部分字串:
\u003Cspan>\u003Ci class=\"_1lbg img sp_Y1V9mWwfjKn_1_5x
sx_487a1b\">\u003C\/i>\u003C\/span>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>\u003Cdiv
class=\"_5pbx userContent _3576\"
我自己透過線上unicode decoder解出來合理結果應該會變成:
<span><i class="_1lbg img sp_Y1V9mWwfjKn_1_5x
sx_487a1b"></i></span></div></div></div></div></div></div></div></div></div><div
class="_5pbx userContent _3576"
我看了網路上教得寫法是用下列方式decode
text.encode(encoding='utf-8',errors='replace').decode('utf-8')
不過結果還是一樣沒解成功...
然後我又發現一個盲點, 就是同樣的字串我存在txt檔後讀出來解碼會解失敗
f = open('test.txt','r', encoding='utf-8')
text = f.readline()
text = text.encode(encoding='utf-8',errors='replace').decode('utf-8')
但我直接把unicode的字串存進一個變數他在編譯時自動就解碼了(我是用pycharm)
如:
text = '最上面提供的unicode字串'
想請教一下到底該怎麼寫才能成功轉出來呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.163.3
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1533750798.A.459.html
→ stucode: text.encode('UTF-8').decode('unicode-escape') 08/09 19:56
→ imYu1234: 可以了! 感謝樓上 08/10 10:43