R_Language 板


LINE

[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 最近開始在學用R寫爬蟲,而今天下午試著要爬證交所的股票代碼列表時發現他們似乎 是使用MS950編碼,但是這個編碼R卻無法認得。(參見程式碼部分) 後來還有試過用utf-8和big5硬推,也試著用tmcn去轉碼,但是中文部分還是只得到亂碼。 因此想請問是否有什麼方法可以繞過這個問題? (把原網頁資料抓下來存成csv轉碼後再丟給R不在考慮之列) [程式範例]: 只附上一開始用MS950的程式碼,big5和utf-8的結果大同小異。 另外最後res和ress的output不知道為什麼無法完整貼上,但總之遇到中文都是亂碼就是了 > rm(list=ls()) > > library(tmcn)Q > library(httr) > library(rvest) > library(stringr) > library(magrittr) > > r<-GET("http://isin.twse.com.tw/isin/C_public.jsp?strMode=2") > r Response [http://isin.twse.com.tw/isin/C_public.jsp?strMode=2] Date: 2015-12-29 10:15 Status: 200 Content-Type: text/html;charset=MS950 Size: 2.69 MB Unknown encoding MS950. Defaulting to latin1 (ISO-8859-1). <link rel="stylesheet" href="http://www.tse.com.tw/style1.css" type=... <body><table align=center><h2><strong><font class='h1'>¥蠊 > res<-r$content%>%read_html(encoding="MS950")%>% + html_node(".h4")%>%html_nodes(xpath="tr")%>%html_text() > ress<-toUTF8(res) > res[1:5] [1] "礎糧罈羅\xc3砥国並怏代繡繒瞻\xc3缃名繙\xc3\x99 簞礙罈\xc3斾砥国並怏螢姻砥 '蜃嗽碼(ISIN Code)瞻W瞼竄瞻矇瞼竄糧繭禮O簡瞿繚~禮OCFICode糧\xc3屡腕\xb9" [2] " 穠\xc3'笨\xbc " [3] "1101 癒@瞼x穠dTW00011010041962/02/09瞻W瞼竄瞻繫穠d瞻u繚~ESVUFR" [4] "1102 癒@穡\xc3鱿泥TW00011020021962/06/08瞻W瞼竄瞻繫穠d瞻u繚~ESVUFR" [5] "1103 癒@繒\xc3埘泥TW00011030001969/11/14瞻W瞼竄瞻繫穠d瞻u繚~ESVUFR" > ress[1:5] [1] "| 3 瞼N繡繒瞻\xc3缃名繙\xc3\x99 簞礙罈\xc3斾 [2] " ªÑ2 ¼ " [3] "1101 ! [4] "1102 ! [5] "1103 ! [環境敘述]: Win7 64位元 R 3.2.3 (2015/12/10) [關鍵字]: 中文編碼 MS950 tmcn --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.122.150
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1451397792.A.742.html
1F:→ Wush978: Unknown encoding MS950. Defaulting to latin1 12/29 22:05
2F:→ Wush978: 不知道這行有沒有影響 12/29 22:05
3F:→ AmuroRai: 有趣的是好像用content(url,encoding="XXX")結果會和用 12/29 22:06
4F:→ AmuroRai: read_html(encoding="XXX")不太一樣...我想我貼上來好了 12/29 22:06
承前面,把r定義出來後實驗性的做了以下幾種解析方法,結果都有點不同。 如果用content然後強迫編MS950會出現編碼不對的狀況,但顯然改成Big5也不會比較對 (即下面的res1和res2) 而如果使用read_html的話,不論是塞Big5和MS950結果都是一樣(res3和res4) 甚至如果是直接把網址塞進read_html並使用Big5的話還會直接出錯(res5,這幾天在 另一個確定是用Big5編碼的網站也出了一樣的狀況,那個網站後來是靠用content編Big5加 上tmcn的toUTF8解決掉。但這次爬的網頁就無法這麼處理) > res1<-content(r,encoding="MS950") Unknown encoding MS950. Defaulting to latin1 (ISO-8859-1). > res2<-content(r,encoding="Big5") > res3<-r%>%read_html(encoding="Big5") > res4<-r%>%read_html(encoding="MS950") > res5<-read_html("http://isin.twse.com.tw/isin/C_public.jsp?strMode=2", +         encoding="Big5") 錯誤: input conversion failed due to input error, bytes 0xF9 0xD6 0x3C 0x2F [6003] > res2 > res3 {xml_document} <html> [1] <head><link rel="stylesheet" href="http://www.tse.com.tw/style1.css" t ... [2] <body><table align="center"><h2><strong><font class="h1">驍冕祁上瞼竄\xc3 砥国並 ... > res4 {xml_document} <html> [1] <head><link rel="stylesheet" href="http://www.tse.com.tw/style1.css" t ... [2] <body><table align="center"><h2><strong><font class="h1">驍冕祁上瞼竄\xc3 ※ 編輯: AmuroRai (140.109.122.150), 12/29/2015 22:17:04 ※ 編輯: AmuroRai (140.109.122.150), 12/29/2015 22:18:42
5F:→ celestialgod: RCurl::getURLContent可以得到正確的文字 12/29 23:06
6F:→ celestialgod: 不過iconv轉不了,html parse都會失敗(攤手 12/29 23:07
7F:→ celestialgod: #1LHliv6j (R_Language) 這篇一樣問題 12/29 23:28
8F:→ celestialgod: 一樣的連結 12/29 23:29
9F:→ AmuroRai: 謝謝樓上W大和C大,晚點我找些別的方法試試 12/30 15:52







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燈, 水草

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

TOP