Problem:
Analysis:
# part 1 設定R語系為C, 以配合中文編碼使用
Sys.setlocale(category="LC_ALL", locale="C")
Sys.getlocale()
# part 2 載入套件,讀取網頁資料
準備使用 XML 套件的 readHTMLTable 函數, 使用時記得加上 encoding="big5", 結果有5個表格, 其中第1個表格是使用的資料集, 因此將 tmp串列的第1個元素取出, 設定 train <- tmp[[1]], R程式如下:library(XML) # readHTMLTable 函數
# IE: F12 --> line 7: <meta http-equiv=Content-Type content="text/html; charset=big5">
# 觀察原始網頁採用 big5, 因此encoding參數設定為 big5
urls <- "http://web.ydu.edu.tw/~alan9956/02person.htm"
tmp <- readHTMLTable(urls, stringsAsFactors = FALSE, encoding="big5")
length(tmp) # length=5
train <- tmp[[1]] # 139*5
# part 3 資料整理
train[1,2] # 顯示亂碼iconv(train[1,2], "UTF-8", "BIG-5") # 顯示正常
# 中文編碼轉換
train <- as.data.frame(lapply(train, function(x) iconv(x, "UTF-8", "BIG-5")))
names(train) <- c("id", "traindate", "program", "location", "hours")
head(train)
# 匯出資料
write.table(train, file="C:/rdata/train.txt", row.names=FALSE)
# save(train, file="C:/rdata/train.RData") # 亦可儲存成 RData 格式
# R程式:
# title: RWEPA - 讀取網頁表格教育訓練# date: 2016.9.16
# part 1 設定R語系為C, 以配合中文編碼使用
Sys.setlocale(category="LC_ALL", locale="C")
Sys.getlocale()
# part 2 載入套件,讀取網頁資料
library(XML) # readHTMLTable 函數
# IE: F12 --> line 7: <meta http-equiv=Content-Type content="text/html; charset=big5">
# 觀察原始網頁採用 big5, 因此encoding參數設定為 big5
urls <- "http://web.ydu.edu.tw/~alan9956/02person.htm"
tmp <- readHTMLTable(urls, stringsAsFactors = FALSE, encoding="big5")
length(tmp) # length=5
train <- tmp[[1]] # 139*5
# part 3 資料整理
train[1,2] # 顯示亂碼
iconv(train[1,2], "UTF-8", "BIG-5") # 顯示正常
# 中文編碼轉換
train <- as.data.frame(lapply(train, function(x) iconv(x, "UTF-8", "BIG-5")))
names(train) <- c("id", "traindate", "program", "location", "hours")
head(train)
# 匯出資料
write.table(train, file="C:/rdata/train.txt", row.names=FALSE)
# save(train, file="C:/rdata/train.RData") # 亦可儲存成 RData 格式
R程式執行結果:
# end
http://web.ydu.edu.tw/~alan9956/02person.htm 網址不再更新, 已取消, 請參考上述R程式說明.
回覆刪除