Data Scrapping para periodistas: ¿Cómo empiezo?

  • Posted on: 11 April 2014
  • By: antoniocuga

En este post comentaremos sobre el Data Scrapping en el periodismo. Cómo podemos obtener datos de manera más rapida y limpia, para luego revisarla y depurarla hasta encontrar patrones que nos ayuden en una investigación periodística. Explicaremos tres maneras de obtener data sin necesidad de ser un nerd, programador o geek. Es momento de comenzar con el periodismo de datos.

Let's do it! /o/

¿Qué es el Data Scrapping?

El Data Scrapping es una manera de obtener datos haciendo uso de técnicas de programación y herramientas de software. Una parte importante del Data Scrapping es el Web Scrapping.

¿Qué es el Web Scrapping?

El Web Scraping es lo mismo que el Data Scrapping pero orientado a sitios web. Es decir, extraer información de sitios web haciendo uso de herramientas, programación, etc.

Nos enfocaremos en Web Scrapping.

¿Cómo iniciar?

Para comenzar con el Web Scrapping existen distintos tipos de recursos y aplicaciones. Empezaremos con las siguientes:

  • Google Docs - spreadsheets
    Google spreadsheets tiene una función llamada ImportHTML. Esta función permite importar el contenido HTML de una tabla(<table>) o lista(<ul><ol>) en un sitio web. Lo único que tenemos que hacer es crear un Google Docs - Spreadsheet e insertar la función ImportHTML en la primera celda. La estructura de la función ImportHTML es la siguiente:

    Sintaxis IMPORTHTML(url; consulta; índice)
    -url: URL de la página que se examinará, incluido el protocolo (por ejemplo, http://). El valor de la url debe ir entre comillas o ser una referencia a una celda que contenga el texto adecuado.
    -consulta: Puede ser "lista" o "tabla", en función del tipo de estructura de los datos que se desea obtener.
    -índice: Empieza por 1 e identifica la tabla o la lista que se devolverá según lo definido en la fuente HTML. Los índices de las listas y las tablas se mantienen separados, de modo que, si existen ambos tipos de elementos en una página HTML, puede haber una lista y una tabla con el índice 1.

    Este es un ejemplo usando una tabla de un sistema de consultas del Ministerio de Economía y Finanzas (MEF) en Perú. http://apps5.mineco.gob.pe/transparencia/Navegador/Navegar_5.aspx?_tgt=h...

    Parámetros:
    url: http://apps5.mineco.gob.pe/transparencia/Navegador/Navegar_5.aspx?_tgt=html&_uhc=yes&0=&30=&y=2014&cpage=1&psize=400
    consulta: table (tabla)
    índice: 2 (cabeceras de la tabla de datos). Ahora pueden probar desde la celda A3 y cargar los datos del índice 3 (los datos completos).

    Con el uso simple delGoogle Docs se puede extraer información y tabular un sitio web. También existen otras funciones como IMPORTDATA, IMPORTFEED, IMPORTHTML, IMPORTRANGE, IMPORTXM. Para mayor referencia pueden consultar en el sitio de ayuda de Google https://support.google.com/drive/answer/3093339?hl=es y ver este vídeo tutorial de LabNol.org https://www.youtube.com/watch?v=95c0OlsjKgU

     

  • ScrapperWiki - http://scraperwiki.com/
    ScrapperWiki es una herramienta online que nos permite extraer información de distintos tipos de fuentes (documentos html, PDF y Twitter). Nos enfocaremos en el Scrapping de documentos html (<tables>). Es necesario crearse una cuenta (una free nos permite crear hasta 5 datasets).  Una vez creada la cuenta, clickearemos en "Create new dataset" y luego click en "Extract tables". Veremos la siguiente pantalla.

    Introducimos la URL que deseamos descargar. En este caso será: http://apps5.mineco.gob.pe/transparencia/Navegador/Navegar_5.aspx?_tgt=html&_uhc=yes&0=&30=&y=2014&cpage=1&psize=400 y click en "Extract tables".

    Cargará una pagina donde se listarán todas las tablas encontradas y descargadas. Ubicamos la tabla que deseamos descargar y luego clickearemos en "Download as Spreadsheet". Identificamos la tabla y descargamos. Algo que deben de considerar es que esta es una herramienta en proceso de desarrollo, así que pueden encontrarse con algunos errores en la aplicación.

     

  • Scraper - Google Chrome

    Scraper es una extensión del Google Chrome (navegador) que trabaja como un 'ScreenScrapper'. ¿Qué es? La definición de Wikipedia (http://es.wikipedia.org/wiki/Screen_scraping) es larga y compleja. 'ScreenScrapper' es un pequeño robot que lee el texto de una presentación (sitio web) y permite extraer el texto mostrado (tablas, listas, imágenes, párrafos, etc). Con la definición clara, explicaré otra parte importante de este Scraper con el trabajo en XPath.

    ¿Qué es un XPath?
    XPath es un lenguaje en estructura XML que permite realizar la búsqueda en un archivo HTML. Es una forma de seleccionar etiquetas (o nodos) en base a una estructura. Scraper utiliza el formato XPath para seleccionar lo que deseamos descargar.

    Comenzamos.

    Continuamos con el ejemplo del MEF. Primero instalamos el Scraper en Google Chrome https://chrome.google.com/webstore/detail/scraper/mbigbapnjcgaffohmbkdlecaccepngjd. Ya instalado, probaremos haciendo click derecho sobre una celda de nuestra tabla y veremos lo siguiente opción en el menú emergente.
    Si damos click izquierdo sobre la primera celda "0001: PROGRAMA ARTICULADO NUTRICIONAL"  y click en "Scrape similar", aparecerá la siguiente pantalla, de la que extraerá la información de toda la fila 1 en un solo campo. En la columna izquierda aparece el patrón de XPath que se ha seleccionado.

  • //table[2]/tbody/tr[1]/td
    Lo que se entiende de este patrón es lo siguiente: Que seleccioné la segunda tabla (//table[2]), el cuerpo de esa tabla (/tbody), la fila 1 (tr[1]) y las columnas (/td).
    Scraper permite guardar nuestro patrón y continuar con nuestro trabajo. Clickeamos en preset, ubicado en la parte inferior izquierda. En Columns podemos agregar más columnas, en caso necesitemos que nuestra tabla esté separada por columnas y no por filas.

    Probaremos usando el siguiente patrón:  //table[2]/tbody/tr[td] el que descarga las columnas por cada fila de la segunda tabla. No olvidemos que es importante fijarnos en el valor de nuestras columnas, para tener una información bien tabulada.

 

En este post explicamos brevemente el uso de tres herramientas importantes en el periodismo de datos: Google Docs, ScrapperWiki y Scraper. Queda en ustedes poder usar la que sea más facil y completa.

En el siguiente post será acerca de programación y Web Scrapping usando Python (Lenguaje de programación).

HackThePlanet

PD: Si te gustó el post, y crees que alguien más puede aprender, compártelo :D Son bienvenidas todas la recomendaciones y feedbacks.