Skip to content

Instantly share code, notes, and snippets.

@bastianolea
Created April 1, 2026 16:47
Show Gist options
  • Select an option

  • Save bastianolea/23a0bacd90bba50c15519351e33addc1 to your computer and use it in GitHub Desktop.

Select an option

Save bastianolea/23a0bacd90bba50c15519351e33addc1 to your computer and use it in GitHub Desktop.
Descargar informes trimestrales de la Comisión Nacional del Sistema de Ahorro para el Retiro de México
# https://x.com/bastimapache/status/2039382214098534586
# script que descarga archivos de una página de internet
# pero además los clasifica en un dataframe con metadatos que vienen
# desde la misma página donde están alojados, ésto porque los nombres
# de los archivos no son consistentes en la descripción de su contenido
library(rvest)
# obtener código del sitio web
sitio <- read_html("https://www.gob.mx/consar/documentos/informes-trimestrales-de-la-consar")
# identificar elementos html que contienen los documentos
documentos <- sitio |>
html_elements(".clearfix .documents")
# extraer los nombres de cada documento
nombres <- documentos |>
html_elements(".col-md-10") |>
html_text2()
# extraer enlaces a los documentos
enlaces <- documentos |>
html_elements("a") |>
html_attr("href")
enlaces <- paste0("https://www.gob.mx/", enlaces)
# unir datos y enlaces en un dataframe
library(dplyr)
library(tidyr)
informes <- tibble(nombres, enlaces) |>
separate(nombres, into = c("año", "trimestre"),
sep = ", ")
# descargar archivos
download.file(
url = enlaces,
destfile = basename(enlaces)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment