[問題] 用R抓取網路資料

作者: li70534 (change )   2017-05-11 21:44:39
我想要抓取http://www.twse.com.tw/ch/trading/fund/T86/T86.php中的表格
經檢視碼確認編碼為UTF-8,但其程式碼跑出來卻是亂碼
[軟體熟悉度]:
新手(使用R3個月,有將Wush Wu的翻轉教室上過一次,知道概念)
[程式範例]:
page.html<-read.html("http://www.twse.com.tw/ch/trading/fund/T86/T86.php",encoding
= "UTF-8")
version.block<-html_node(page.html,"table border='1' align='center'
style='width:1400px;' id='tbl-sortable-header")
html_text(version.block)
【輸出成果】:
> html_text(version.block)
[1] "\n\t\n \xe5阋\xe7哐霅桧驼鈭斗\x98猟\x89\u0080\n\n \n
ENGLISH\xc2í\xa0 \n \xe6鞒\xe6珻隤鏛í\xa0\n Twitter\n
Facebook\n Plurk\n \n\n \n \n 蝺栶\xb8簧瓱\xe6鹁\n
蝬脩\xab⒠琔\xe5\x9c\x96\n 蝬脩\xab⒡\xb1弡阔\n 霅桧驼蝺函
Ⅳ\n 霅桧驼閰霶\xbd\x99\n \n \n \xe7灜\xe9\x97\x9c菝
\x8b⒠像\xe5阋\n \xe5饬\xe9\x96鹑\xb3殴\xa8篑\xa7\u0080皜祉\xab\x99\n
\xe5腖\xe6珻撣弴\xb3癴ē撠\x8e\n 蝬脰楝鞈殴\xa8箫\x95疟
\xba\x97\n \xe6\x8a厠\xb3乐犖\xe7缷霅咹雯\n 敶梢耯\xe5嘘\xe6軽蝬
\xb2\n 蝚砌\xb8栉硅\xe8\x88桧ē銝剖\xbf阵像\xe5阋\n 鞎∪\x8b⒡
\xaf鯒\xbc侠暺鞇\u0080\x9a\n \n\t\t\t\n \n\n\t\n"
作者: celestialgod (天)   2017-05-11 21:55:00
有quantmod可以直接拿股票資料,建議不要自己抓
作者: li70534 (change )   2017-05-11 22:15:00
我主要是想確認如何抓取資料,這個網頁只是我隨便找的而已
作者: celestialgod (天)   2017-05-11 22:21:00
UTF8在windows上都要經過轉換到big5才能正常顯示#1NL2H4ME (R_Language)
作者: li70534 (change )   2017-05-11 22:27:00
C大,所以我需再將編碼轉換成BIG5即可嗎?
作者: celestialgod (天)   2017-05-11 22:39:00
作者: bluecadence (Maxwell's demon)   2017-05-12 01:07:00
其實證交所資料不只是股價而已,像這連結其實是三大法人買賣超。然後其實用quantmod抓yahoo台股資料有時候資料不是很乾淨(例如放假日也跑出資料欄位,或偶爾成交量很奇怪),有些股票甚至不在yahoo資料庫裡面
作者: li70534 (change )   2017-05-12 20:30:00
我就是想說yahoo finance 的資料可能不乾淨,所以想說試試這種方法,只是編碼極度麻煩
作者: bluecadence (Maxwell's demon)   2017-05-19 12:42:00
看來yahoo finance已經在刻意擋自動下載歷史股價資料這些免費的資料源(包括google finance)甚麼時候被會被中止取消也很難講。要免費的台股股價歷史資料,也許最好的方法只剩下從證交所和櫃買中心下載公開資料建立自己的資料庫
作者: Rossi0927 (Rossi0927)   2017-05-19 17:25:00
可以用 get 抓 twse 的 json 資料比readhtm 好

Links booklink

Contact Us: admin [ a t ] ucptt.com