Datos de raspado de tablas en varias páginas web en R (jugadores de fútbol)

Estoy trabajando en un proyecto para la escuela en el que necesito recopilar las estadísticas de carrera de los jugadores de fútbol de la NCAA individuales. Los datos de cada jugador están en este formato.

http://www.sports-reference.com/cfb/players/ryan-aplin-1.html

No puedo encontrar un agregado de todos los jugadores, por lo que tengo que ir página por página y sacar la fila inferior de cada una de las pases aprobando Corriendo y recibiendo, etc. tabla html

Cada jugador es catagorizado por su apellido con enlaces a cada alfabeto que va aquí.

http://www.sports-reference.com/cfb/players/

Por ejemplo, cada jugador con el apellido A se encuentra aquí.

http://www.sports-reference.com/cfb/players/a-index.html

Esta es la primera vez que me meto realmente en el raspado de datos, así que traté de encontrar preguntas similares con respuestas. La respuesta más cercana que encontré fueesta pregunta

Creo que podría usar algo muy similar cuando cambio el número de página con el nombre del jugador recolectado. Sin embargo, no estoy seguro de cómo cambiarlo para buscar el nombre del jugador en lugar del número de página.

Samuel L. Ventura también dio una charla sobre el raspado de datos para datos de la NFL recientemente que se pueden encontraraquí.

EDITAR:

Ben fue muy útil y proporcionó un gran código. La primera parte funciona muy bien, sin embargo, cuando intento ejecutar la segunda parte, me encuentro con esto.

> # unlist into a single character vector
> links <- unlist(links)
> # Go to each URL in the list and scrape all the data from the tables
> # this will take some time... don't interrupt it! 
> all_tables <- lapply(links, readHTMLTable, stringsAsFactors = FALSE)
Error in UseMethod("xmlNamespaceDefinitions") : 
 no applicable method for 'xmlNamespaceDefinitions' applied to an object of class "NULL"
> # Put player names in the list so we know who the data belong to
> # extract names from the URLs to their stats page...
> toMatch <- c("http://www.sports-reference.com/cfb/players/", "-1.html")
> player_names <- unique (gsub(paste(toMatch,collapse="|"), "", links))
Error: cannot allocate vector of size 512 Kb
> # assign player names to list of tables
> names(all_tables) <- player_names
Error: object 'player_names' not found
> fix(inx_page)
Error in edit(name, file, title, editor) : 
  unexpected '<' occurred on line 1
 use a command like
 x <- edit()
 to recover
In addition: Warning message:
In edit.default(name, file, title, editor = defaultEditor) :
  deparse may be incomplete

Esto podría ser un error debido a que no tengo suficiente memoria (solo 4 gb en la computadora que estoy usando actualmente). Aunque no entiendo el error.

    > all_tables <- lapply(links, readHTMLTable, stringsAsFactors = FALSE)
Error in UseMethod("xmlNamespaceDefinitions") : 
 no applicable method for 'xmlNamespaceDefinitions' applied to an object of class "NULL"

Mirando a través de mis otros conjuntos de datos, mis jugadores realmente solo se remontan al 2007. Si hubiera alguna manera de atraer a personas de 2007 en adelante, eso podría ayudar a reducir los datos. Si tuviera una lista de personas cuyos nombres quisiera retirar podría reemplazar el lnk en

 links[[i]] <- paste0("http://www.sports-reference.com", lnk)

¿Con solo los jugadores que necesito?

Respuestas a la pregunta(1)

Su respuesta a la pregunta