我有代码正在工作,它的webscrapping脚本首先从网页的URL获取,然后使用for循环遍历所有的URL。在循环过程中,它会获取一些信息并将其保存到数据框中,我首先在循环之前将其创建为空数据框。这个过程使用rbind并且工作正常。改进我的R代码 - 建议想要吗?
但是,我觉得这个代码不是最优的,可能有一个包,我认为解决方案将会是可行的......也许不是。但是我希望有人能够给我一个指示,以更好地编码这个(如果存在的话)以及它如何实现。
library(rvest)
URL <- "http://www.transfermarkt.com/premier-league/startseite/wettbewerb/GB1"
WS <- read_html(URL)
URLs <- WS %>% html_nodes(".hide-for-pad .vereinprofil_tooltip") %>% html_attr("href") %>% as.character()
URLs <- paste0("http://www.transfermarkt.com",URLs)
Catcher1 <- data.frame(Player=character(),P_URL=character())
for (i in URLs) {
WS1 <- read_html(i)
Player <- WS1 %>% html_nodes("#yw1 .spielprofil_tooltip") %>% html_text() %>% as.character()
P_URL <- WS1 %>% html_nodes("#yw1 .spielprofil_tooltip") %>% html_attr("href") %>% as.character()
temp <- data.frame(Player,P_URL)
Catcher1 <- rbind(Catcher1,temp)
cat("*")
}
我投票关闭这一问题作为题外话,因为它应该被移到代码审查stackexchange – csgillespie