将for循环更改为抓取网站的功能

时间:2018-10-27 21:37:41

标签: r function

我正在尝试使用以下内容抓取网站:

industryurl <- "https://finance.yahoo.com/industries"

library(rvest)

read <- read_html(industryurl) %>%
  html_table()

library(plyr)
industries <- ldply(read, data.frame)
industries = industries[-1,]

read <- read_html(industryurl)

industryurls <- html_attr(html_nodes(read, "a"), "href")

links <- industryurls[grep("/industry/", industryurls)]

industryurl <- "https://finance.yahoo.com"

links <- paste0(industryurl, links)
links
##############################################################################################

store <- NULL
tbl <- NULL

for(i in links){
  store[[i]] = read_html(i)
  tbl[[i]] = html_table(store[[i]])
}


#################################################################################################

我对##########之间的代码最感兴趣,并且我想应用一个函数而不是for loop,因为我遇到了Yahoo超时问题,并且希望使其更加人性化提取这些数据(不是太多)。

我的问题是,我该如何利用links应用一个函数并设置某种延迟计时器以读取for loop的内容?

我可以粘贴自己的for loop版本,该版本不起作用。

1 个答案:

答案 0 :(得分:2)

这是我想出的功能

config

希望有帮助