Más de raspado en la red

No me gustaba mucho el termino webscrap porque me sonaba a una forma adornada de decir hacer un espejo de información, ahora que he estado haciendo algunos ejercicios de un curso de datos y periodismo, encuentro que bien hecho es más que descargarse todos los datos, en realidad como lo dice, raspar los datos de una inmensidad de cosas que no te quieres traer.

Entonces raspar me gusto más, siguiendo con esto de la transparencia, en el CONSOL pasado tuve el gusto de conocer a Petrosh y de platicar largo y tendido, al estar más cerca del rancho Electrónico le comente que quise ir a una charla / taller que hubo en octubre de 2018 llamada “Hackeando Infomex Técnicas de scrapeo de la plataforma de Información Pública” que medio seguí en twitter lo que fueron poniendo me conecte y no pude ver mucho de lo que dijeron y no tuve la previsión de respaldar el pad que se utilizo donde venían algunas ideas que seguro ya implemente, pero regresando al platicar de esto y de lo que iba a hablar en Consol, me quedo un poco de inquietud de lo que se platico y de que un poco a propósito se mantuvo perfil bajo por el tema y porque no se quiere hacer mucho ruido, por el área un tanto gris en la que se encuentra ese tipo de actividad.

Hace poco estuve pensando en que en efecto en es un relajo entre SIPOT donde reportan las obligaciones de transparencia y las diferentes partes de las páginas de gobierno que hacen transparencia proactiva y de interés publico (que justo lo que le interesa al publico y nos gustaría saber es lo que menos ponen) recordé que Infomex es donde se solicita información y que ciertamente las respuestas luego son más interesantes porque ademas son publicas.

Ya he desechado al menos para esta entrega el aprendizaje automático, pero se me ocurrió y si obtenemos todas las respuestas publicas para un organismo, ¿que tan difícil puede ser?

El propio Infomex en su sección de datos abiertos provee de JSON, CSV y algún otro formato con todas las peticiones y respuestas que se puede trabajar, que puede ser por año, por dependencia o global, el más interesante por supuesto es el global, pero casi que esta pensado para que se le dificulte a uno su uso muy a propósito, por el tamaño son uno 800MB de registros… con los cual un rato estuve jugando en Gnumeric, encontré los de la dependencia que me interesaba y el folio que representaba la información, ahora una cosa que no es demasiado clara hasta que ha estado uno usando el sistema un rato es que a las peticiones se les puede contestar, con inexistente, reservado, se requiere más información en proceso, terminado, con información entregada, etcétera, entonces los folios que más interesantes me resultaron, no tenían información, o no correspondían con los públicos, es decir con los que si contienen información.

En la interfaz de Infomex uno puede consultar los datos por ente, fecha y otros, pero el que me pareció más interesante fue el de ente, con información entregada en formato digital, de esta consulta se puede exportar una hoja de calculo o PDF por supuesto que después de haber trabajado ya un rato con PDF de esta vista que provee folio de solicitud, fecha de recepción, unidad de información, respuesta, fecha de respuesta, etc. Y exportar, de todas formas es bastante inútil el archivo exportado ya que aunque provee de URL estos solo funcionan en la vista de la aplicación web y no en el PDF o en el XLS exportado.

Pero, en este se encuentran todos los números de folios de las respuestas y eso revisando la página es suficiente porque la URL de la descarga la construye con esos números entonces, digamos exportamos nuestro PDF

pdftotext archivote.pdf archivote.txt

Y en teste no es más que buscar las cadenas de los folios, por ejemplo

grep 1234 archivote.txt > folios.txt

Y bueno recordando mis inicios en bash cuando hice mi primer contador pues me hice este pequeño script.

#!/bin/bash

# Obtener todas las respuestas de infomex
for i in $( cat folios.txt )

do

echo $i

          wget "https://foo.bar/MimeAdjuntoSeguimientoGenerator.action?folio=$i&respuesta=6" -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040206 Firefox/0.8" --no-check-certificate

            done

echo;

Por supuesto no quiero dejar toda la URL para evitar que alguien que este aprendiendo bash nada más copie y pegue y termine pegando a un servidor de por si lento.

Y bueno ahora tengo 1571 archivos de respuestas… a esto si se antoja aplicarle procesamiento de lenguaje natural para encontrar patrones…

Esta entrada fue publicada en Debraye, edusol, General, planetalinux y etiquetada , , , , , , , , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.