Raspando dados de tabelas em várias páginas da web em R (jogadores de futebol)

Eu estou trabalhando em um projeto para a escola, onde eu preciso coletar as estatísticas de carreira para os jogadores individuais de futebol da NCAA. Os dados de cada jogador estão neste formato.

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

Eu não consigo encontrar um agregado de todos os jogadores, então eu preciso ir página por página e puxar para fora a linha inferior de cada passagem marcando Apressando e recebendo etc. Tabela html

Cada jogador é catalogado pelo seu sobrenome com links para cada alfabeto que vai aqui.

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

Por exemplo, cada jogador com o sobrenome A é encontrado aqui.

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

Esta é a primeira vez que realmente entro em raspagem de dados, então tentei encontrar perguntas semelhantes com respostas. A resposta mais próxima que encontrei foiessa questão

Eu acredito que eu poderia usar algo muito parecido, onde mudo o número da página com o nome do jogador coletado. No entanto, não sei como alterá-lo para procurar o nome do jogador em vez do número da página.

Samuel L. Ventura também fez uma palestra sobre coleta de dados para dados da NFL recentemente que pode ser encontradaAqui.

EDITAR:

Ben foi realmente prestativo e forneceu um ótimo código. A primeira parte funciona muito bem, no entanto, quando tento executar a segunda parte, eu me deparo com isso.

> # 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

Isso pode ser um erro devido a não ter memória suficiente (apenas 4GB no computador que estou usando atualmente). Embora eu não entenda o erro

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

Olhando através dos meus outros conjuntos de dados, os meus jogadores só voltam a 2007. Se houvesse alguma maneira de atrair apenas pessoas de 2007 em diante, isso pode ajudar a reduzir os dados. Se eu tivesse uma lista de pessoas cujos nomes eu queria puxar eu poderia simplesmente substituir o lnk em

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

com apenas os jogadores que eu preciso?

questionAnswers(1)

yourAnswerToTheQuestion