O web scraping (raspagem de rede, em tradução livre), também conhecido como extração de dados da web, é o nome dado ao processo de coleta de dados estruturados da web de maneira automatizada. Em geral, esse método é usado por pessoas, empresas que desejam usar a vasta quantidade de dados da web disponíveis publicamente para tomar decisões mais inteligentes.
- Fazer um web scraping da tabela de dados do Portal da Transparência do Governo Federal
- armazenar num banco de dados relacional
- fornecer um endpoint (/api/dados) que retorne um json com os dados coletados:
- Estrutura do retorno da API:
- mes_ano
- programa_orcamentario
- acao_orcamentaria
- valor_empenhado
- valor_liquidado
- valor_pago
- valor_restos_a_pagar_pagos
- Estrutura do retorno da API:
Bônus: Fazer o scraping de todas as páginas da tabela do site
A tabela de dados para o scraping fica em (ver print abaixo):
https://www.transparencia.gov.br/despesas/orgao?ordenarPor=orgaoSuperior&direcao=asc
- Preferencialmente utilize PHP, mas esteja livre para usar qualquer linguagem
- Sugerimos usar docker para facilitar o desenvolvimento e a avaliação do resultado
- Faça um segundo README com o nome PROJETO.md explicando o que foi feito, como forma de documentação.
- Diferenciais:
- Boa documentação
- Testes unitários modulares
Faça um clone deste projeto, crie uma branch com seu nome-sobrenome e ao finalizar abra um pull-request para que um avaliador da agilize possa visualizar e envie um e-mail para dev@agilize.com.br com o assunto: [DESAFIO BACKEND AGZ] + Finalizado + (nome-da-branch)
- Passo 1: Fazer um fork do projeto
- Passo 2: Clonar seu fork para o seu computador
- Passo 3: Fazer o projeto em sua branch
- Passo 4: Abrir o pull request
Para mais detalhes esse link tem uma explicação bastante completa