作者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/cn.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