我发现了一些类似的问题,但我是 R 新手,无法弄清楚它如何适用于我的具体问题。这是我的代码:
library(rvest)
library(plyr)
library(stringr)
#function passes in letter and extracts bold text from each page
fetch_current_players<-function(letter){
url<-paste0("http://www.baseball-reference.com/players/", letter, "/")
urlHTML<-read_html(url)
playerData<-html_nodes(urlHTML, "b a")
player<-html_text(playerData)
player
}
#list of letters to pass into function
atoz<-c("a","b","c","d","e","f","g","h",
"i","j","k","l","m","n","o","p","q","r",
"s","t","u","v","w","x","y","z")
player_list<-ldply(atoz, fetch_current_players, .progress="text")
所以这段代码试图做的是使用这个网站的 URL 结构将字母 A 到 Z 的列表传递到我的函数中,以生成粗体名称列表。我认为问题在于它返回的每个玩家列表的长度不同,这会产生错误,因为当我在函数中手动输入每个字母时,该函数似乎可以工作。
任何帮助表示赞赏,谢谢!