Você está na página 1de 61

Ferramenta para monitoramento de

gastos e iniciativas da câmara de


vereadores do Recife
Aluno: Danilo Matheus de Oliveira Pedrosa
Orientador: Prof. Vinicius Garcia
Bacharelado em Sistemas de Informação
Roteiro

INTRODUÇÃO
DADOS ABERTOS
WEB SCRAPING
CONCEPÇÃO
IMPLEMENTAÇÃO
INTRODUÇÃO
Contexto

● Em 2009 nasce o Open Data


○ Intuito de incentivar o envolvimento dos eleitores com
o setor governamental;
○ Visa a disponibilização de informações na web de forma
aberta, e também a cobrança das informações públicas
do governo;
○ Esses dados podem ser acessados e utilizados
abertamente por qualquer pessoa, que também tem a
liberdade de adaptar os dados informados as suas
necessidades.
Cenário

● Em 2011 é lançada a Lei Federal que regulamenta o direito


constitucional de acesso às informações públicas, sem a
necessidade de apresentar algum motivo especial;

● Em março de 2013, é lançado o Portal da Transparência da


Prefeitura do Recife.
○ Objetivo de facilitar o acesso a alguns dados acerca de
transações públicas da prefeitura do Recife.
Problema

● Disposição dos dados;


○ Maioria das informações relevantes, estão
dispostas de forma segmentada.
● Amontoado de dados que não agregam valor por si só.
Objetivo

● Através da captura, extração e exibição de dados


disponibilizados pela prefeitura, este trabalho tem por
objetivo viabilizar o acompanhamento dos gastos e
iniciativas da câmara de vereadores do Recife para a
população.
Relevância

● Importância do engajamento e participação política dos


cidadãos;
● Acompanhamento de retorno dos tributos pagos em
forma de impostos;
● Contribuir para uma análise mais assertiva por parte
dos cidadãos.
Definição e propósito

● “Dados abertos são dados que podem ser livremente


usados, reutilizados e redistribuídos por qualquer pessoa -
sujeitos, no máximo, à exigência de atribuição da fonte e
compartilhamento pelas mesmas regras.” ( Open Knowledge
Foundation);
● Compartilhar abertamente um dado, seu valor e seu uso são
potencializados.
Dados Abertos
Governamentais
● Área propícia para aplicação do paradigma de dados
abertos é a área governamental;

● “Metodologia para a publicação de dados do governo


em formatos reutilizáveis, visando o aumento da
transparência e maior participação política por parte
do cidadão, além de gerar diversas aplicações
desenvolvidas colaborativamente pela sociedade”.
Dados Abertos
Governamentais
● Incentivo ao relacionamento entre o estado e os
cidadãos;

● Contribuição para fiscalização do âmbito econômico,


no sentido de evitar um pedido de acesso à
informação ou evitar ações duplicadas por
desconhecimento de departamento diferente, entre
tantos outros.
UTILIZAÇÕES ANTERIORES
UTILIZAÇÕES ANTERIORES
Disposição dos dados
Portal da Transparência da câmara
municipal do Recife
Sistema do Processo legislativo
WEB SCRAPING
WEB SCRAPING

● Definição:
○ “Extração de dados não estruturados dos sites e
transformação desses dados em dados estruturados que
podem ser armazenados e analisados “.
WEB SCRAPING

● Propósito de se utilizar esta técnica em um endereço


web, é o de adquirir os dados ali disponíveis,
armazená-los e analisá-los em outro ambiente, seja uma
planilha ou um banco de dados.
WEB SCRAPING

● Prática utilizada nas mais diversas atividades, como por


exemplo:
○ Comparação de preços online;
○ Captura de informações pessoais;
○ Web mash-up (união de dados de diversas fontes
distintas).
CONCEPÇÃO
Requisitos

● Ater-se a atual legislatura, evitando sobrecarga dos servidores da


prefeitura, e servir de base para próxima eleição;
● Utilizar ferramenta de visualização de dados, para demonstrar os
dados obtidos por meio da captura no portal.
Requisitos

● API implementada em node.js, por possuir uma alta


produtividade e possibilitar a captura de dados de forma
eficiente;
● Ser código aberto, para viabilizar a adição de análises de
novas regiões ou facilitar a criação de projetos semelhantes.
Especificações

● Capturar as informações sobre gastos e propostas dos


vereadores da Câmara do Recife, e após isso, realizar a
persistência das informações encontradas;
● Utilizar ferramenta de visualização de dados, para que seja
possível observar as informações disponíveis por meio de
dashboards.
Ferramentas
Node.js

● Permite executar a linguagem Javascript sem a


necessidade de utilizar um navegador;

● Sua arquitetura baseia-se em eventos assíncronos;

● Ao se requisitar uma tarefa a um servidor node.js, o


mesmo não esperará o término desta para dar início ao
recebimento de uma nova.
Node.js
Cheerio

● Necessário para capturar as informações encontradas em


páginas HTML;

● Pode-se escolher qualquer elemento do HTML e a partir


da seleção deste elemento, extrair a informação ali
presente.
Ferramentas
PostgreSQL

● Persistência dos dados obtidos;

● Abordagem não relacional foi cogitada;

● Compatibilidade das ferramentas de visualização de


dados serem maiores com bancos de dados relacionais,
principalmente as open source.
PostgreSQL
Metabase

● Realizar a exibição dos dados capturados e estruturados;

● Escolhida pela facilidade de uso e pela velocidade em


conectar um banco de dados compatível, além de
demonstrar os resultados obtidos em dashboards bem
ilustrados.
Metabase
Implementação
Web Scraper
Scripts de captura

● Pode-se dividir os métodos de captura de informações


deste scraper em dois grupos, a depender da origem dos
dados, os scripts que:
○ Se baseiam na captura das informações por meio da
extração dos dados nas páginas HTML;
○ Extraem os dados de planilhas.
Extração por meio
das páginas HTML

● Dificuldade encontrada tende a ser maior;

● Pode-se fazer necessário acessar um número “n” de


páginas distintas para obter informações sobre um único
parlamentar, o que pode vir a sobrecarregar o servidor;

● Neste Grupo:
○ Sessões plenárias, Propostas e Vereadores.
Extração por meio
das páginas HTML

● As primeiras capturas foram dados dos vereadores da


atual legislatura;

● Não houveram grandes dificuldades para realização da


captura, posto que, correspondem a uma pequena
quantidade - em torno de 40 registros.
Extração por meio
das páginas HTML

● A captura das informações sobre as propostas referentes


a cada um dos parlamentares se mostrou a mais difícil
entre todas, devido a sua grande massa de dados (em
torno de 23.000 registros entre os anos de 2017 e 2019).
Fluxo de extração
Extração por meio de planilhas

● Necessário ler as planilhas referentes a cada período de


tempo, e depois armazenar os dados encontrados;

● Neste Grupo :
○ Salários e Verbas indenizatórias.
Extração por meio de planilhas

● As planilhas encontram-se formatadas de maneira


distinta nos dois casos, enquanto os dados dos salários
referenciam apenas um mês de um determinado ano, os
dados das verbas trazem informações a respeito de um
ano inteiro, reduzindo o número de arquivos a serem
baixados.
Fluxo de extração
Rotas

● Foi criada uma API com cinco rotas disponíveis, cada


uma, referente a um conjunto de dados sobre o
parlamentar e sua legislatura;

● A requisição feita para estes métodos é do tipo GET e


não recebe parâmetros de entrada.
Rotas

● /scraper/councils (Dados referentes aos vereadores);

● /scraper/indemnities (Dados referentes às verbas


indenizatórias).
Rotas

● /scraper/remunerations (Dados referentes aos salários


dos parlamentares);

● /scraper/plenary-sessions (Dados referentes às sessões


plenárias);

● /scraper/proposes (Dados referentes às proposições de


cada parlamentar).
Rotas

● Retornam uma
mensagem de
sucesso, ou de erro,
dependendo do êxito
em capturar as
informações
desejadas.
Visualização dos dados
Visualização dos dados

● Foram construídas duas páginas com dashboards;

● Parlamentares de maneira geral;

● Detalhes sobre um parlamentar em específico.


Visualização dos dados
Visualização dos dados
Visualização dos dados
Conclusão

● Através deste projeto foi possível construir um web scraper


que captura dados da Câmara de vereadores do Recife e após
o agrupamento e filtragem desses dados, demonstra
informações que agregam valor aos usuários através de
dashboards interativos;
● Tecnologias como machine learning e big data podem ser
aplicadas a trabalhos como este a fim de tratar esses dados e
organizá-los com o intuito de obter informações cada vez mais
diretas e bem estruturadas;
● Conforme fontes confiáveis oficiais forem sendo
disponibilizadas, a expansão deste projeto para outras regiões
do país, ou ainda, a adição de novos cargos públicos.
Referências

[1] PEDROSA, D. M. de O. dmop/council-expenses. 2019. Disponível em:


<https://github.com/dmop/council-expenses/>, acesso em: 13 mar. 2019.
[2] OPEN KNOWLEDGE FOUNDATION.2019. Disponível em: <https://okfn.org/ >,
acesso em: 13 mar. 2019.
[3] GOVERNO FEDERAL. A LEI DE ACESSO À INFORMAÇÃO. Disponível em :
<http://www.acessoainformacao.gov.br/assuntos/conheca-seu-direito/a-lei-de-acesso-ainformacao/
>, acesso em: 13 mar. 2019.
[4] NE10. PREFEITURA DO RECIFE LANÇA PORTAL DA TRANSPARÊNCIA.Disponível em: , acesso
em: 13 mar. 2019
Referências

[5] PREFEITURA DO RECIFE. PORTAL DA TRANSPARÊNCIA. Disponível em:


<http://www.recife.pe.leg.br/portal-da-transparencia/>, acesso em: 18 de junho de 2019.
[6] OPEN DATA HANDBOOK. WHAT IS OPEN DATA? Disponível em:
<http://opendatahandbook.org/guide/pt_BR/what-is-open-data/>, acesso em: 17 junho. 2019
[7] GOVERNO DO BRASIL. VANTAGENS DA PUBLICAÇÃO DE DADOS
ABERTOS. 2019. Disponível em: <https://kit.dados.gov.br/vantagens-dados-abertos/ >.
[8] A. SOARES, FÁBIO de. 2008. Mineração de Textos na Coleta Inteligente de Dados
na Web.
Referências

[9] GOVERNO DO BRASIL. DADOS ABERTOS GOVERNAMENTAIS. Disponível


em:<https://www.governodigital.gov.br/transformacao/cidadania/dados-abertos/dadosabertos-go
vernamentais/ > , acesso em: 18 de junho de 2019.
[10] SALERNO, JOHN J.; BOULWARE, DOUGLAS M. 2003.Method and apparatus for
improved web scraping.
[11] SALERNO, JOHN J.; BOULWARE, DOUGLAS M. 2012. Exploiting web scraping
in a collaborative filtering-based approach to web advertising.
[12] KALLIO, ALEKSI. 2015. Automated web store product scraping using node.js.
Referências

[13] SIRISURIYA, SCM de S.2015. A Comparative Study on Web Scraping.


[14] JUSBRASIL. LEI 17159/05 | LEI Nº 17159 DE 21 DE DEZEMBRO DE 2005.
Disponível em: <https://cm-recife.jusbrasil.com.br/legislacao/260457/lei-17159-05/ >,
acesso em: 18 de junho de 2019.
[15] CÂMARA MUNICIPAL DO RECIFE. SISTEMA DE PROCESSO
LEGISLATIVO. 2019. Disponível em: <http://sapl.recife.pe.leg.br/default_index_html/>.
[16] PREFEITURA DE SÃO PAULO. SESSÃO PLENÁRIA. 2019.. Disponível em:
<http://www.saopaulo.sp.leg.br/atividade-legislativa/sessao-plenaria/> , acesso em: 18 de
junho de 2019.
Referências

[17] BRITO, K.; S. NETO, Misael dos; COSTA, Marcos A. da S.; GARCIA, Vinicius
Cardoso; MEIRA, Silvio R. de L.; 2014.Using Parliamentary Brazilian Open Data to
Improve Transparency and Public Participation in Brazil
[18] PREFEITURA DO RECIFE. CONCURSO CIDADÃO INTELIGENTE. Disponível
em:<http://www2.recife.pe.gov.br/noticias/01/04/2014/concurso-cidadao-inteligenterecanuncia-
os-vencedores/>, acesso em: 17 junho. 2019
[19] INITIATIVE, O. S. The MIT License (MIT). Disponível em:
<https://opensource.org/licenses/MIT/>, acesso em: 17 junho. 2019
OBRIGADO

Danilo Matheus de Oliveira Pedrosa