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.txtBaixe os arquivos executando o comando:
./download.shNota: esse script baixará dados para anos/meses pré-estabelecidos. Caso queira alterá-los, modifique o script
create-download-script.she 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 transferenciasEsses 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.pyO 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