[问题类型]:
程式咨询
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
各位大大好,小弟算是爬虫初学者,最近在练习爬取联合新闻的即时新闻列表,
在抓出版时间时碰到一点问题,虽然硬是写了出来,
但还是想请教一下有没有更好的写法
麻烦各位了!!
[程式范例]:
# 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