$a
caso1 caso2
1 2
$b
caso1 caso2
4 5
Web scraping y acceso a datos desde la web
30 de mayo de 2024
Desde la web, tendremos situaciones donde obtendremos listas de objetos de texto que deben ser procesados.
Se encontará datos en json.
La manipulación de datos jerárquicos desde la web es análoga al trabajo con listas en R.
Para trabajar con listas directamente en R usaremos funciones del paquete purrr
.
Para procesar texto usaremos el paquete stringr
.
purrr
La función principal es map
y su idea general es:
para cada
objeto en la lista
haga función
.
Otra manera de pensar un loop.
lista de ejemplo
Suma de cada elemento de la lista.
stringr
Las funciones de stringr
permiten manipular texto según expresiones regulares.
Con ellas podemos definir patrones de búsqueda de texto.
Detectar elementos:
Obtener solo elementos detectados:
Extraer texto:
Reemplazo:
Reemplazo de un grupo de texto:
[1] "Santo_Viernes" "Santo_Sábado" "Elección 1" "18 septiembre"
Remover texto:
JSON con un listado de feriados en Chile
url <- 'https://apis.digital.gob.cl/fl/feriados'
resp <- jsonlite::read_json(url)
resp |> (function(x) x[1:2])() |> str(2)
List of 2
$ :List of 6
..$ nombre : chr "Año Nuevo"
..$ comentarios : chr ""
..$ fecha : chr "2013-01-01"
..$ irrenunciable: chr "1"
..$ tipo : chr "Civil"
..$ leyes :List of 2
$ :List of 6
..$ nombre : chr "Todos los Días Domingos"
..$ comentarios : chr ""
..$ fecha : chr "2013-01-01"
..$ irrenunciable: chr "0"
..$ tipo : chr "Civil"
..$ leyes :List of 1
Vamos al código.
Tutorial de purrr por Charlotte Wickham
Paquete con listas de ejemplo en repurrrsive
Pruebas de expresiones regulares: regex101
Presentación y código en GitHub:
https://github.com/caayala/web_scraping_soc40XX_2024
https://caayala.github.io/web_scraping_soc40XX_2024
¡Gracias!
Cristián Ayala
https://blog.desuc.cl/
http://github.com/caayala
DESUC Web Scraping, 2024