[問題] 網頁中部份中文字元影響爬蟲

作者: liquidbox (樹枝擺擺)   2019-01-31 18:01:02
大家好,我是Python自學者,雖然習慣自己上網找答案,
但很多基本觀念可能沒有學到或學好,
所以現下出了一個我不知如何在網路上找答案的問題
我在爬某政府網頁時,發現若網頁中包含某些中文字元,如
https://ctext.org/dictionary.pl?if=gb&char=%E3%95%A1
https://ctext.org/dictionary.pl?if=gb&char=%F0%A4%A5%82
Python就會無法讀取該字元之後的網頁原始碼,
以致在該字元前的元素可正常定位,但該字元後的元素用xpath都定位不到
該網頁有寫charset=big5,所以我試著先把網頁原始碼重新編碼,如:
str.decode('bi5').encode('utf8')
但就會出現編碼失敗
而這些奇怪字元在Chrome上可正常顯示,在Edge上會變缺字,這兩個字也無法貼上批踢踢
若用Excel查,第一個字在Excel上用code查是64386,第二個字的code是63(相當於缺字)
想請問這些奇怪的字元是因為原本就不在unicode或big5字元集裡頭嗎?
因為某政府網頁中有這兩個怪字的數量不低,我無法以個案處理,
不知道是否有什麼辦法可以正常處理,感謝
作者: eight0 (欸XD)   2019-01-31 18:04:00
試試 big5-hkscs? https://is.gd/3FFpLq
作者: f496328mm (為什麼會流淚)   2019-01-31 19:30:00
code貼來看看
作者: BZnoo (Uba)   2019-01-31 20:22:00
BIG-5尚有著名的許功蓋問題,也值得研究一下 XD
作者: shala (沙羅)   2019-01-31 21:05:00
str不能decode吧。要先encode再decode網頁是utf-8,應該用utf-8編碼就可以輸出了
作者: f496328mm (為什麼會流淚)   2019-01-31 23:24:00
你存下來就是亂碼了你乾脆直接給網址,說不定是你存的問題
作者: ckc1ark (偽物)   2019-02-01 17:22:00
兆峯建築師事務所 不過看起來檔案用的也不是big5-hkscshttp://yilan-archi.org.tw/show_member.php?no=00107這個就是big5-hkscs了感覺是你這邊抓的網頁編碼已經出問題

Links booklink

Contact Us: admin [ a t ] ucptt.com