我有代碼正在工作,它的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