Script de raspagem e consulta de gastos diretos do Governo Federal.
Raspagem e estruturação feita em Python, exportando os dados para CSV e SQLite.
Consultas em formato SQL.
Caso você não queira rodar o script em sua máquina, acesse diretamente os dados já convertidos (nota: os arquivos CSVs muito grandes, provavelmente não abrirão em softwares de planilha eletrônica comuns e precisarão de softwares específicos, a recomendação é de utilizar um banco de dados, como SQLite ou MySQL).
Todo processo leva várias horas, dependendo da sua velocidade de conexão e de processamento.
- 50GB livres em disco
- Python3 (com suporte a lzma) e pip
- wget
- MySQL
Instale as dependências Python com o comando:
pip install -r requirements.txt
Baixe os arquivos executando o comando:
./download.sh
Nota: esse script baixará dados para anos/meses pré-estabelecidos. Caso queira alterá-los, modifique o script
create-download-script.sh
e rode-o para gerar um novodownload.sh
.
O diretório download
será criado, com os arquivos ZIP baixados. Para
converter os arquivos e consolidá-los em uma base de dados, rode os seguintes
comandos:
python converte.py gastos-diretos
python converte.py transferencias
Esses comandos podem demorar alguns minutos (são muitos dados para
descompactar, converter e então compactar novamente). Os arquivos
output/gastos-diretos.csv.xz
e output/transferencias.csv.xz
serão gerados.
Caso queira apenas utilizar MySQL, você pode pular para a próxima etapa. Senão, caso queira converter os arquivos CSV para SQLite, execute o comando:
python csv2sqlite.py
O arquivo output/portaldatransparencia.sqlite
será gerado.
- Com o arquivo CSV na mesma pasta do script, importe os dados de gasto direto rodando no terminal:
mysql -u [nomedousuario] -p < import.sql
- Criar índices
- Reduzir redundância do banco