[問題類型]:
程式諮詢
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
各位大大好,小弟算是爬蟲初學者,最近在練習爬取聯合新聞的即時新聞列表,
在抓出版時間時碰到一點問題,雖然硬是寫了出來,
但還是想請教一下有沒有更好的寫法
麻煩各位了!!
[程式範例]:
# install pack
list.of.packages <- c("rvest", "RCurl", "stringi", "XML", "stringr")
new.packages <- list.of.packages[!(list.of.packages %in%
installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
# 撈取財經新聞
surl = "http://money.udn.com/money/breaknews"
udn = read_html(surl,encoding="UTF-8")
ranking_table = udn %>% html_nodes('.area_body') %>% html_nodes(xpath =
"//table")
title = ranking_table %>% html_nodes('a') %>% html_text %>% iconv(from =
'UTF-8', to = 'UTF-8')
url = ranking_table %>% html_nodes('a') %>% html_attr('href')
## 抓取時間的時候,因為類別跟出版時間都被放在only_web class裡
## 我分不開只好都先抓下來,再砍掉不符合的欄位
pattern = '^[0-9]{2}'
t = ranking_table %>% html_nodes('.only_web') %>% html_text %>% as.data.frame
colnames(t) = c("data")
time = subset(t, grepl(pattern, t$data))
[環境敘述]:
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7600)
[關鍵字]:
網路爬蟲, RVEST