作者KeyBoardKill (✩鍵✩盤✩戮✩)
看板Python
標題[問題] 網頁爬蟲 UTF-8無法解析
時間Fri May 4 14:36:43 2018
各位好
想請教一下各位,目前我正在爬一個Big5的網頁,爬回來後使用
.encode('big5', 'ignore').decode('utf-8', 'ignore') 將其轉碼
但是中文字的部分,全部顯示為亂數了,例如正常的名稱是
Dell E2216H 21.5吋 Monitor(3年到府保)
但轉換後變 Dell E2216H 21.5T Monitor(3~O) 這不知道甚麼東西.....
若是單純使用 .encode('utf-8', 'ignore')的話則會全部轉為字串值,但並不會解析成
中文字....
這會是我哪裡做錯了呢?懇請指點
https://i.imgur.com/yegep71.png
https://i.imgur.com/qPmMiyK.png
--
◢ ◣
● █
≡◥◣ ◢
◣
】 。 \。【 這個板需要更高竿的酸民
● //﹀\\● ◥
◤
】 ╰═╯【 ◤
◢◥ ◤◣
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.146.2.131
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1525415808.A.7FF.html
1F:推 ckc1ark: 不處理就已經是字串了 你是要寫檔還是? 05/04 14:51
您好,我只是要爬下來做檢視而已,如果我不進行轉碼的話,撈回來的資料會如下
https://i.imgur.com/kxmcTaj.png
2F:推 ckc1ark: 環境是? 看起來他把big5的每個byte都encode成utf8 str 05/04 15:23
Windows10(1709)EN / Python 3.6.3
3F:→ uranusjr: 你需要重想一下 encode decode 的意思, 如果有搞懂的話 05/04 15:25
4F:→ uranusjr: 那行程式用看的就知道一定不對 (極端狀況除外) 05/04 15:26
因為我實在不解,為何會這樣...只好多方嘗試了 冏rz 爬了很多文章
5F:推 ckc1ark: 在WebSite = ... 後加一行WebSite.encoding = 'big5'試試 05/04 15:29
6F:→ ckc1ark: 看起來是一開始抓到的資料就encode錯了 05/04 15:29
真的正常了....冏rz 謝謝大神
※ 編輯: KeyBoardKill (122.146.2.131), 05/04/2018 15:36:16
7F:推 cutekid: 推 ck 大(Y) 05/04 17:41