Olá, pessoal!
Alguém tem experiência com as bases do SISVAN (Sistema de Vigilância Alimentar e Nutricional)?
Estou trabalhando com os dados mais especificamente com o Estado Nutricional. E queria saber qual método seria o mais eficiente para fazer um observatório com atualização constante e automática dos dados.
E até onde eu vi, existem duas formas de acessar os dados.
- Pelo site do SISVAN
- Requisição manual
- Não vi formas de automatizar essa parte de extração de dados.
- Pelo site do Portal de Dados Abertos do Gov
- Base consolidada do ano competência
- Muito pesada
- Pela API do site do Gov
- só consigo realizar requests de até 20 linhas por vez.
Olá, Marcos.
Não tenho experiência com esse sistema. Na verdade, até então, eu o desconhecia. Porém, posso tentar passar algumas orientações gerais.
Em primeiro lugar, é preciso refletir sobre esse observatório que você pretende construir, em termos de:
- escopo dos dados: o observatório terá como abrangência a totalidade dos dados, ou apenas um recorte específico? Exemplos: um recorte no tempo (ex.: somente dados da última semana), no espaço (ex.: dados desagregados por município) ou no domínio específico da informação (ex.: somente sobre a população idosa).
- periodicidade de atualização: qual é a periodicidade de atualização pretendida? As possíveis fontes de dados têm qual periodicidade de atualização?
Após ter em mente essas características pretendidas para a sua aplicação, leve em consideração também, para cada fonte:
- limitações de acesso: as fontes de dados impõem algum limite de uso, por exemplo, quantidade máxima de requisições diárias? Há barreiras tecnológicas, como Captchas, por exemplo?
- licenças e permissões de reúso: os dados são abertos legalmente falando? Existe algum tipo de restrição? Inclusive no que se refere à Lei Geral de Proteção de Dados (LGPD)?
Olhando brevemente cada uma das fontes que você sugeriu, pude perceber o seguinte:
1. Site do SISVAN
- escopo dos dados: parece ser bastante abrangente no domínio e tem diversos filtros disponíveis. Granularidade temporal por mês e espacial por município.
- periodicidade de atualização: não realizei a consulta para saber se realmente retornam dados, mas nas opções de filtros tem o ano atual e até meses futuros (dez/2024 em uma consulta feita em nov/2024). Suponho que seja mensal.
- limitações de acesso: possui Captcha, o que dificulta muito usar como fonte de dados para raspagem. Possui uma área de acesso restrito, então pode haver dados não disponíveis ao público.
- licenças e permissões de reúso: sem informação, o que pode ser um problema.
2. Conjunto de dados no Portal Brasileiro de Dados Abertos
- escopo dos dados: possui um dicionário de dados com muitos campos, mas não conheço o assunto para determinar a abrangência no domínio da informação. Temporalmente possui um download de dados consolidados por ano.
- periodicidade de atualização: diz ser anual, mas só tem dados até 2023. Daí suponho que só publiquem o arquivo consolidado após fechar o ano inteiro. Se a sua aplicação precisar de dados atuais, esse já é um impedimento para usar (exclusivamente) essa fonte.
- limitações de acesso: parece que não há, mas o grande tamanho dos arquivos impõe alguns requisitos técnicos em relação a recursos da aplicação que for utilizá-los (memória, espaço em disco, etc.).
- licenças e permissões de reúso: dados abertos com licença Creative Commons Atribuição (CC-BY). Lembre-se de citar a fonte.
3. API do DEMAS
- escopo dos dados: à primeira vista parece ser o mesmo que os demais.
- periodicidade de atualização: desconhecida. No conjunto de dados no Portal Brasileiro de Dados Abertos diz que é anual e há um link para a API. Tentei fazer consultas para o mês atual e o mês anterior, mas retorna erro 502:
Resumo
!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>502 Proxy Error</title>
</head><body>
<h1>Proxy Error</h1>
<p>The proxy server received an invalid
response from an upstream server.<br />
The proxy server could not handle the request<p>Reason: <strong>Error reading from remote server</strong></p></p>
<hr>
<address>Apache/2.4.41 (Ubuntu) Server at apidadosabertos.saude.gov.br Port 80</address>
</body></html>
- limitações de acesso: como você observou retorna 20 registros por requisição. Porém, isso não é problema, pois basta iterar por página e fazer várias requisições. Pode ser que haja um limite de requisições no tempo (throttling), porém, esse limite não está documentado. A instabilidade da API (às vezes retorna erros HTTP na faixa dos 500) pode ser um problema.
- licenças e permissões de reúso: no conjunto de dados diz que a licença é CC-BY, na interface Swagger da API diz MIT. Na dúvida, cite a fonte.
Enfim, a escolha da fonte depende do que você pretende com a sua aplicação. Em geral, se você precisa de dados atualizados, a fonte n.º 3 (API) me pareceu ser mais promissora, mas a sua instabilidade é um problema.