22 julio, 2010
Cansado de ver que la información que la municipalidad de Bahía Blanca colgaba en su página web era cada vez más ilegible y complicada de interpretar por los ciudadanos, Manuel Aristarán desarrolló Gasto Públio Bahiense, una herramienta para explorar los datos de compras a proveedores que realiza esa municipalidad mediante técnicas de screen scraping.
Tal como dice en su blog: “La transparencia gubernamental es un tema de moda. Fue uno de los pilares de la innovadora campaña electoral de Barack Obama, donde la tecnología jugó un papel central. Una de las formas en las que materializó estas promesas es el proyecto data.gov, donde se brinda acceso a más de 40.000 conjuntos de datos “crudos” generados por agencias del gobierno federal”.
“En Argentina”, continúa la entrada, “el panorama es bastante desolador. No hay ley de acceso a la información pública; apenas tenemos el decreto 1172/03 que tiene bastantes problemas en su aplicación (ver acá o acá). Algunos organismos que sí publican información en la web, lo hacen en formatos ilegibles para las máquinas. Una imagen que contiene un documento impreso escaneado, como las declaraciones juradas de los funcionarios municipales de Bahía Blanca, es invisible para los buscadores”.
Para resolver ese problema y para responder a la siempre misteriosa pregunta ¿qué hace el gobierno con nuestro dinero? es que Manuel decidió desarrollar Gasto Público Bahiense, una herramienta pensada para explorar los datos de compras a proovedores que publica la Municipalidad de Bahía Blanca por medio de la organización en gráficos de datos que se extraen del sistema de compras del gobierno municipal mediante técnicas de screen scraping.
Según Wikipedia, screen scraping es el nombre en inglés de una técnica de programación que consiste en tomar una presentación de una información (normalmente texto, aunque puede incluir información gráfica) para, mediante ingeniería inversa, extraer los datos que dieron lugar a esa presentación. Por ejemplo:
– Extraer de la página web de un diario el tiempo meteorológico previsto.
– Extraer los datos originales a partir de la imagen de una gráfica elaborada.
– Hacer una consulta automática a la página de gestión de nuestro banco para verificar si el saldo es inferior a un umbral. – Extraer los datos de un informe en PDF para volcarlos en una hoja de cálculo.
En general, hay que destacar que los sistemas de los que se extrae la información no están diseñados para extraer dicha información (en algunos casos, es al contrario, como en los sistemas de captcha).
Entrevistado por RedUSERS, Aristarán nos habló más sobre su proyecto: “La información que publica la municipalidad es precisa, pero el tema es que una lista de orden de compra no dice casi nada en cuanto a datos. Me enteré que la municipalidad colgaba esos datos, sabía que los periodistas lo consultaban mucho y que todo el tiempo estaban en el sistema intentando descifrar el contendio, y se me ocurrió, como me interesa el tema entre conjunción de tecnología y transparencia gubernamental, organizarlos de una manera mejor y navegable”.
A lo largo del sitio podrán analizar información como las reparticiones que más gastaron, los 10 proveedores más beneficiados del año, evolución del gasto público mes a mes y todas las órdenes de compra emitidas por la Municipalidad y el monto que pagó por cada una de ellas. También encontramos por allí un buscador de órdenes de compra para que el usuario consulte sobre alguna maniobra en particular.
“La realidad es que esto es un experimento que surgió de una semana que me quedó libre entre dos trabajos y bueno, la idea es mejorarlo con el tiempo. El sitio está arriba hace tan solo dos semanas, aún así tuvo muy buena repercusión: puse el link en Twitter y en Facebook y dos días después estaba teniendo entre 200 y 300 visitas diarias, algo increíble para un proyecto de alcance local”.
Para llevar a cabo la tarea, Manuel utlizó los siguientes softwares: “El módulo de extracción de datos se construyó con Scrapy. El sitio web está programado con Django. La base de datos es PostgreSQL. Las visualizaciones de datos están implementadas con Google Chart Tools“.
Tal como afirma su autor, Gasto Público Bahiense es software libre y su código fuente está disponible. Para todos aquellos programadores que deseen colaborar con el proyecto simplemente deberán hacer fork del código en github y enviarle sus parches. Pero también el espacio está abierto para los no programadores que tengan ideas o piensen en mejoras para el sitio, en este caso, Manuel pide que se contacten con el escribiéndole a jazzido@jazzido.com.
El camino hasta GPB fue el resultado de muchos años de experiencia como programador: Manuel fue el primer empleado de Popego, el servicio de búsquedas filtradas en Internet premiado en muchos lados, y asegura que desde ese entonces no paró de conocer gente creativa, de aprender y perfeccionarse. “Me encantaría que otro municipio del país haga lo mismo, que tome el código fuente y pueda desarrollar su propia herramienta para hacer accesible la información a los ciudadanos”.
Por LP, desde Aruba.