IMPORTACIÓN DE DATOS DE FORMA AUTOMÁTICA DE WEBS (WEB SCRAPING)

En muchas ocasiones la tarea de recoger la información de diversas fuentes y en diferentes formatos es el mayor trabajo que supone mantener actualizados los dashboards con la información relevante.

Habitualmente se recurre a recogerla de recursos tipo "Open Data" pero en muchas ocasiones no queda otro remedio que realizar trabajo manual (en muchos casos queremos que el dashboard se actualice como mínimo diariamente) y ello conlleva descargar ficheros de diversas fuentes y formatos, adecuar los datos, sustituirlos en las aplicaciones de presentación de los informes...

Vamos a ver un par de posibilidades que nos pueden ayudar a automatizar estas tareas utilizando funciones de Google Sheets para recoger la información de las páginas web y llevarlas a Google Data Studio para presentar la información.

IMPORTHTML

Mediante la función IMPORTHTML vamos a poder capturar información de tablas y listas de diferentes páginas web.

Para este ejemplo vamos a recurrir a una página de Wikipedia en la que se recogen los datos relacionados con la vacunación contra la Covid-19. Enlace a la página. Estamos interesados en conectar la información que se recoge en una tabla de esta web (concretamente la 3ª tabla, titulada "Campañas de vacunación en el mundo" y que esta información la podamos visualizar en un generador de informes como pueda ser Google Data Studio. Para ello, en un primer paso, vamos a llevar la información a una hoja de Google Sheets.

Para importar la información a Google Sheets, en la primera celda de una hoja en blanco, indicaremos:

=IMPORTHTML("https://es.wikipedia.org/wiki/Vacuna_contra_la_COVID-19";"table";3)

Con esta instrucción estamos solicitando que se importen los datos de la URL de la citada página de Wikipedia, que el formato buscado es tipo "table" (tabla), y que estamos interesados en la tercera tabla de la página. En pocos segundos tendremos realizada la importación de los datos con un aspecto como el siguiente (ENLACE a la tabla):

Lo importante ya lo tenemos, hemos conseguido que la información de la página de Wikipedia se refleje en nuestra hoja de Google Sheets y ahora ya es sencillo conectar esta hoja con Google Data Studio, como lo hacemos habitualmente.

En este caso podemos elegir el rango de datos comprendido entre las celdas A2:G137.

En Google Data Studio podremos tener que resolver algún pequeño inconveniente como los asteríscos sobrantes. Para ello lo más sencillo puede resultar "Agregar un campo" y en el nuevo campo colocar la fórmula:

REPLACE(*País*,"*","")

En Google Data Studio ya podremos maquetar el Dashboard utilizando la información de esta hoja de cálculo que además, y que es lo más importante, se actualizará (la hoja de Sheets y el dashboard) cada vez que Wikipedia actualice los datos de esa página con la información de las vacunas para la Covid-19. Enlace a un ejemplo de dahboard con los datos importados (conectados).

IMPORTDATA

Esta función (IMPORTDATA) nos va a ser muy útil para poder conectarnos (sin descargarlos y volverlos a subir) con ficheros tipo CSV (datos separados por comas) alojados en páginas web.

Para este ejemplo vamos a recurrir a datos tipo "Open Data" de la página datos.gob.es. Hemos elegido una página en la que se muestran datos de la evolución de la pandemia en las Islas Canarias. Enlace a la página. Estamos interesados en conectar la información relacionada con la Incidencia Acumulada (IA). Pulsando sobre el botón derecho del mouse podemos copiar la URL de este CSV (no descargarlo) y que la información que contiene este fichero la podamos visualizar en un generador de informes como pueda ser Google Data Studio de forma similar a como hicimos con IMPORTHTML, llevando previamente la información a una hoja de Google Sheets.

Para importar la información a Google Sheets, en la primera celda de una hoja en blanco, indicaremos:

=IMPORTDATA("https://opendata.sitcan.es/upload/sanidad/cv19_ia.csv")

Con esta instrucción estamos solicitando que se importen los datos de la URL del fichero CSV en nuestra hoja de cálculo. la citada página de Wikipedia, que el formato buscado es tipo "table" (tabla), y que estamos interesados en la tercera tabla de la página. En pocos segundos tendremos realizada la importación de los datos con un aspecto como el siguiente (ENLACE a la tabla):

Ahora, sólo faltaría importar los datos de esta hoja en Google Data Studio.

En Google Data Studio ya podremos maquetar el Dashboard utilizando la información de esta hoja de cálculo que además, y que es lo más importante, igual que en el caso anterior, se actualizará (la hoja de Sheets y el dashboard) cada vez que desde el Gobierno actualicen los datos de ese CSV con la nueva información la evolución de la Covid-19 en las Islas Canarias. Enlace a un ejemplo de dahboard con los datos importados (conectados al CSV).

Seguro que estos procedimientos son muy mejorables, por lo que cualquier sugerencia o comentario será muy bienvenido.

Alberto Arranz