Created
April 1, 2026 16:47
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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