Buscar en el blog de Andrés Cifuentes

jueves, 7 de agosto de 2008

Herramienta de extraccion de contenidos


Web content extractor

Algunas veces nos vemos en la necesidad de extraer el contenido de alguna página web y un simple copiar-pegar de una tabla HTML a OpenOffice.org Calc - o en su defecto a MS Excel - es suficiente, sin embargo en otros casos necesitamos hacer cosas más complejas o que necesariamente sean automáticas, por la distribución en la página, el volumen de información u otra causa del mismo estilo.

Recientemente me vi en esta situación pues una importación masiva de correos a Google Apps genero mas de 7000 errores, evento poco común en las importaciones masivas usando IMAP, cuando el cliente me pregunto "bueno ahora como reprocesamos las cuentas" la respuesta mia fue "sencillo, extraigamos las cuentas que fallaron y las volvemos a procesar" ... nótese el sencillo ... que resulto siendo una tarea de dos días.

El caso es que en el panel de Google Apps en las migraciones de correo usando IMAP los resultados si salen, pero se obtienen paginados de 20 en 20, el proceso de capturarlos hubiese sido una tarea dispendiosa, tediosa y propensa a errores si hubiéramos puesto a alguien a copiar-pegar clic en siguiente unas 389 veces.

Así que una búsqueda en Google - como para variar - me ayudo con la solución, buscando por web data extractor, aparecieron varias alternativas, de las cuales probé los trials de Web Content Extractor, Web Scrapper y IMacros de Iopus.

Aparentemente los tres tienen la funcionalidad para realizar la tarea, pero la verdad Web Scrapper tiene una interfaz confusa y sin los wizards no es claro como configurar las cosas, mientras que IMacros es mucho más potente y creo que la funcionalidad de extraer la información de las páginas es una consecuencia de su diseño y no es realmente el objetivo de la herramienta.

En cambio, Web Content Extractor, pareciera diseñada para exactamente el problema que yo tenía, permite primero autenticarse en el sistema, señalar el contenido que se quiere copiar, escoger las columnas que nos interesan y luego generar las URLs a partir de una interfaz extremadamente sencilla.



El programa no simula el navegador, lo que hace es precisamente usar el navegador, tal cual. En la pantalla de la vista preliminar se ve el sitio cargando pagina por pagina, extrayendo el contenido y continuando con la siguiente.

Al finalizar me permitió exportarlo a un archivo csv, aunque tiene otras opciones como ponerlos en una base de datos Access o Mysql, un script sql, un archivo xml o html.

Eso era exactamente lo que yo necesitaba y eso fue lo que hizo la herramienta. Aunque no es libre, ni gratis, - Que es como nos gusta - este es un ejemplo de una herramienta que hace una sola cosa y la hace bien.

Andrés Cifuentes
Agosto 7, 2008

1 comentario:

  1. Andrés tu crees que posiblemente la herramienta que actualmente está en labs de firefox Ubiquity pueda llegar a hacer esta clase de operaciones en el futuro, hasta donde entiendo es como un DSL para el navegador. No sabía lo del Web Content Extractor, muy chevere

    ResponderBorrar