Python 板


LINE

大家好,我是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字元集裡頭嗎? 因為某政府網頁中有這兩個怪字的數量不低,我無法以個案處理, 不知道是否有什麼辦法可以正常處理,感謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.117.188
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1548928865.A.0C1.html
1F:推 eight0: 試試 big5-hkscs? https://is.gd/3FFpLq 01/31 18:4
謝謝,我再試看看 [更新]謝謝,用這個編碼成功了XD
2F:推 f496328mm: code貼來看看 01/31 19:30
因為這個網頁一開始會有隨機驗證碼,後續還有一些反爬機制, 我暫時還不想在舊課題未完前面對一堆新課題,所以把我需要的網頁先存在本機端, https://1drv.ms/u/s!AuQERVaW1DVCgv4lwTnpEymSIN0ORQ 例如以上這個檔就有怪字(big5編碼,需下載,直接用OneDrive會以unicode開出亂碼) 程式碼如下: from lxml import etree,html with open('147.htm','rb') as f: page = f.read() tree = html.fromstring(page) # 怪字前元素,可定位 建照碼 = tree.xpath('//td[contains(text(),"(105)")]')[0].text # 怪字後元素,無法定位 地號 = tree.xpath('//td[contains(text(),"基地概要")]')[0].text print(+建照碼+' '+地號)
3F:推 BZnoo: BIG-5尚有著名的許功蓋問題,也值得研究一下 XD 01/31 20:22
謝謝,這個好像有點深,我再慢慢研究XD ※ 編輯: liquidbox (59.115.117.188), 01/31/2019 21:09:58
4F:推 shala: str不能decode吧。要先encode再decode 01/31 21:05
5F:推 shala: 網頁是utf-8,應該用utf-8編碼就可以輸出了 01/31 21:07
※ 編輯: liquidbox (59.115.117.188), 01/31/2019 21:14:15
6F:→ f496328mm: 你存下來就是亂碼了 01/31 23:24
7F:→ f496328mm: 你乾脆直接給網址,說不定是你存的問題 01/31 23:24
8F:推 ckc1ark: 兆峯建築師事務所 不過看起來檔案用的也不是big5-hkscs 02/01 17:22
10F:→ ckc1ark: 這個就是big5-hkscs了 02/01 17:36
11F:→ ckc1ark: 感覺是你這邊抓的網頁編碼已經出問題 02/01 17:37
我是直接對著連結右鍵另存新檔,把一個個的.htm抓下來, 過程中似乎沒有可以調整編碼的機會,但仔細想想,您說的有道理, 因為我在抓下數百個檔案時確實發現一直遇到編碼問題 絕大部份似乎可以用big5-hkscs解決,但少數無法的就直接用人工了XD ※ 編輯: liquidbox (36.227.169.167), 02/03/2019 10:27:04
12F:推 ckc1ark: 像你缺的字應該是 兆峯建築師事務所的峯 正確的big5-hksc 02/04 12:59
13F:→ ckc1ark: s編碼是我貼的這篇才對 你貼的用hkscs解出來不是峯這個字 02/04 12:59







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP