Cómo liberar datos oficiales
de ciudades brasileñas con
Python
https://queridodiario.ok.org.br/
1
Slide 2
Slide 2 text
Renne Rocha
@rennerocha
Team Lead en Zyte
Carpintero y cervecero casero
Fundador del Laboratório Hacker de Campinas
2
Slide 3
Slide 3 text
¿Qué es un Diario Oficial?
3
Slide 4
Slide 4 text
Uno de los documentos más antiguos
de Brasil (1862)
Donde se comunica los actos oficiales
del gobierno
Normalmente tenemos acceso a través
de formatos cerrados como PDF
Dificultad para consultar y analizar
datos de forma automatizada
4
Slide 5
Slide 5 text
¿Qué problema queremos resolver?
Hay 5570 ciudades en Brasil
No existe un estándar para la publicación de los diarios
Formato cerrado (PDF) que no permite búsqueda automática en su
contenido
¿Cómo hacer el control social de los actos de gobierno?
5
Slide 6
Slide 6 text
6
Slide 7
Slide 7 text
7
Slide 8
Slide 8 text
8
Slide 9
Slide 9 text
Querido Diario
Respaldado por la Open Knowledge Brasil (https://ok.org.br/)...
...con la ayuda de la comunidad de desarrolladores de Brasil
Primer commit en 1 de abril de 2018
Primera versión en 20 de julio de 2021
9
Slide 10
Slide 10 text
10
Slide 11
Slide 11 text
Extracción de datos
https://github.com/okfn-brasil/querido-diario
Scrapy (https://scrapy.org/) - Framework Python para extracción de
datos
Cientos de spiders (un para cada ciudad o grupo de ciudades)
Monitoreo constante
Ejecución diaria en Scrapy Cloud (https://www.zyte.com/scrapy-
cloud/) - Plataforma de ejecución de spiders Scrapy
11
Slide 12
Slide 12 text
12
Slide 13
Slide 13 text
Indexación
https://github.com/okfn-brasil/querido-diario-data-processing
Metadatos almacenados en PostgreSQL
(https://www.postgresql.org/)
Apache Tika™ (https://tika.apache.org/) - Extrae metadatos y
contenido de texto en diferentes tipos de archivos
Elasticsearch (https://www.elastic.co/) - motor de búsqueda y
análisis de datos distribuidos
13
Slide 14
Slide 14 text
Acceso a los datos
https://github.com/okfn-brasil/querido-diario-api
Sítio público (https://queridodiario.ok.org.br/)
API pública (https://queridodiario.ok.org.br/api/docs)
Permite búsquedas por palabras clave, rango de fechas y ciudades
Desarrollada con FastAPI (https://fastapi.tiangolo.com/)
Wrapper en Python (https://github.com/okfn-brasil/querido-diario-
api-wrapper) para ayudar con la integración con otros sistemas
14
Desafíos
Agregar más ciudades disponibles (sólo 21 hoy)
Mejorar la capacidad de búsqueda
Facilitar la integración con otros proyectos
Mantener financieramente el proyecto
26