Re: [問題] Python urllib.urlopen 抓取有繁體網頁

看板Python作者 (哈哈哈)時間12年前 (2013/07/30 13:34), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串3/3 (看更多)
謝謝大家~ 我有改成content.decode()方式: web = urllib.urlopen("http://www.emega.com.tw/js/StockTable.htm") 程式返回下列訊息: content = web.decode('utf-8') File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xa4 in position 95: inva lid start byte 這個是不是換成我的library有問題嗎 ※ 引述《timTan (用口頭禪區分年記)》之銘言: ※ 引述《bohan222 (哈哈哈)》之銘言: : 請教大家 : Python 2.7.3 有使用下面utf-8的宣告 宣告是說你的程式碼是 utf8. 跟你要抓的東西無關。 : #!/usr/bin/python : # -*- coding: utf-8 -*- : 問題: : 使用 web = urllib.urlopen(內容具有繁體中文的網站) : content = web.read() 接下來的 content 只是一些無意義的 binary, 一定要解碼,不解碼,不能看。 而解碼的方式,推文已有。 編碼有學問 這篇 Joe 的文章一定要看過 http://bit.ly/14txdCm : 想分析網頁內容為繁體的部分,結果繁體部分會變成亂碼, : 似乎是ascii之類的編碼問題 : 想請教有人有遇過這類型問題嗎~謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.234.137 ※ 編輯: timTan 來自: 123.192.234.137 (07/29 23:15)

07/29 23:16,
來研究一下這篇文章~~謝謝~
07/29 23:16

07/29 23:44,
用了linux發現副檔名不重要
07/29 23:44

07/29 23:45,
看了Joe發現文件編碼是你訂的lol
07/29 23:45

07/30 00:25,
這就是重點,你不指定編碼,就是要炸!
07/30 00:25

07/30 00:36,
其是實是Joel XD stackoverflow的老闆
07/30 00:36

07/30 09:13,
對編解碼不熟還是先用Python3比較好,至少出錯相對明顯
07/30 09:13

07/30 09:48,
上面提醒得真好 ~ Python 3 強迫你要弄懂編碼~
07/30 09:48

07/30 09:49,
我也是用 Python3 以後才比較掌握編碼~
07/30 09:49
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.211.213

07/30 22:48, , 1F
別用utf-8用cp950,還有你沒搞懂編碼最好別再寫下去
07/30 22:48, 1F

07/30 22:51, , 2F
這個網頁是運氣不錯只要弄對編碼就能搞定,有些網頁的編碼可
07/30 22:51, 2F

07/30 22:53, , 3F
是大雜燴不只一種阿...
07/30 22:53, 3F

07/30 23:28, , 4F
丟出去的 joe 的文章還沒有讀到精華。
07/30 23:28, 4F

07/30 23:32, , 5F
你快要了解了~
07/30 23:32, 5F
文章代碼(AID): #1Hzy3GZj (Python)
文章代碼(AID): #1Hzy3GZj (Python)