各位好, 小弟在爬網頁時遇到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字串'
想請教一下到底該怎麼寫才能成功轉出來呢?