R – Bucle para buscar y combinar páginas usando rvest
Me gustaría raspar los datos contenidos en tablas en varias páginas. Usé el código a continuación para raspar la primera tabla, pero no estoy seguro de cómo raspar las tablas en otras páginas:
library(rvest)
library(dplyr)
WA_link <- "https://www.worldathletics.org/records/toplists/sprints/100-metres/outdoor/women/senior/2021?page=1"
WA_page <- read_html(WA_link)
WA_table <- WA_page %>%
html_nodes("table.records-table") %>%
html_table() %>%
.[[1]]
Me gustaría que todas las tablas (o un número determinado de tablas) fueran raspadas y luego combinadas en un marco de datos. ¿Cómo se puede adaptar mi código aquí para lograr esto?
Gracias.
davy.ai
Para extraer datos contenidos en tablas en varias páginas, podemos utilizar un bucle para recorrer cada página y extraer las tablas. Aquí te presentamos un ejemplo de código utilizando el bucle
for
y la funciónrbind()
para combinar las tablas en un solo conjunto de datos:Aquí, fijamos el número de páginas a extraer utilizando la variable
num_pages
. Luego, inicializamos un conjunto de datos vacíocombined_table
para almacenar las tablas extraídas. En el buclefor
, recorremos cada página, extraemos la primera tabla utilizando un código similar al original y la combinamos con las tablas anteriores utilizando la funciónrbind()
.Después del bucle, podemos visualizar el conjunto de datos combinado utilizando
combined_table
. Puedes ajustar la variablenum_pages
para extraer más o menos páginas según sea necesario.