Web scrapping para la revisión sistemática de literatura académica en el Sistema Nacional de Repositorios Digitales
Subtitulado: ¿por qué los buscadores académicos no incorporan la función “exportar resultados”?
El buscador del Sistema Nacional de Repositorios Digitales es una gran herramienta que centraliza la búsqueda a través de varios repositorios del país. Cuando se realiza una revisión sistemática de literatura académica es conveniente pasar las publicaciones contempladas a una tabla para trabajar de forma organizada.
Antes de poder comenzar con el análisis de las publicaciones, se precisa copiar, limpiar y organizar los resultados de las búsquedas para generar una tabla de resultados apropiada. Este paso repetitivo y rutinario puede volverse agotador y tedioso.
Por ejemplo, si hacemos la búsqueda de publicaciones cuyo título incluya los términos “inclus*” Y “digital*” (el * permite obtener las variaciones de la palabra para las letras siguientes) se obtienen 77 resultados en el Sistema Nacional de Repositorios Digitales. Pueden reproducir el ejemplo de búsqueda aquí.
No es un gran volumen pero la forma de presentación de los resultados hace que la tarea no sea tan sencilla como debería. Como mencionaba al comienzo, por algún motivo que ignoro los buscadores no suelen incorporar la función de exportar resultados y además los muestran paginados de a unos pocos por vez.
Por esa razón armé un pequeño script de web scrapping (mi primer script de web scrapping de hecho) para extraer los resultados de cualquier búsqueda que se desee realizar y exportarlos como una tabla limpiamente formateada. El script está escrito en R y usa los paquetes tidyverse y rvest (gracias, Hadley Wickham).
El script permite pegar la url de los resultados de una búsqueda avanzada realizada desde el navegador para extraer los resultados o bien realizar una búsqueda básica directamente desde el script escribiendo los términos básicos de la búsqueda.
El script permite especificar una cantidad máxima de páginas a extraer y además va a detener la extracción cuando no haya resultados a extraer aunque no se haya alcanzado el valor máximo de páginas ingresado.
Al final el script produce un data frame que además es exportador como archivo .csv para trabajar en cualquier otro software. La tabla producida tiene la siguiende estructura:
Si les interesa puede consultar el script en mi repositorio de GitHub. Sé que hay muchas cosas para mejorar del script, así que toda sugerencia es bienvenida!
Nota de edición: esta versión reproduce únicamente el texto del artículo original; no incluye sus imágenes ni gráficos.