okfn-brasil
querido-diario
Python

📰 Diários oficiais brasileiros acessíveis a todos | 📰 Brazilian government gazettes, accessible to everyone.

Last updated Jul 10, 2026
1.4k
Stars
457
Forks
258
Issues
0
Stars/day
Attention Score
98
Language breakdown
Python 99.6%
Makefile 0.2%
Go Template 0.2%
Files click to expand
README

Português (BR) | English (US)

Querido Diário

Querido Diário

Tests License Version

Dentro do ecossistema do Querido Diário, este repositório é o responsável pela tarefa de raspagem dos sites publicadores de diários oficiais.

Conheça mais sobre as tecnologias e a história do projeto no site do Querido Diário

Sumário

- Dicas de execução

Como contribuir

catarse

Agradecemos por considerar contribuir com o Querido Diário! :tada:

Você encontra como fazê-lo no CONTRIBUTING.md!

Além disso, consulte a documentação do Querido Diário para te ajudar.

Ambiente de desenvolvimento

Você precisa ter Python (+3.0) e o framework Scrapy instalados.

Os comandos abaixo preparam o ambiente em sistema operacional Linux. Eles consistem em criar um ambiente virtual de Python, instalar os requisitos listados em requirements-dev e a ferramenta para padronização de código pre-commit.

console
python3 -m venv .venv
source .venv/bin/activate
pip install -r data_collection/requirements-dev.txt
pre-commit install
A configuração em outros sistemas operacionais está disponível em "como configurar o ambiente de desenvolvimento", incluindo mais detalhes para quem deseja contribuir com o desenvolvimento do repositório.

Template para raspadores

Ao invés de começar um arquivo de raspador do zero, você pode inicializar um arquivo de código de raspador já no padrão do Querido Diário, a partir de um template. Para isso, faça:

  • Vá para o diretório data_collection:
cd data_collection
  • Acione o template:
scrapy genspider -t qdtemplate <ufnomedo_municipio> <https://sitedomunicipio...>

Um arquivo ufnomedo_municipio.py será criado no diretório spiders, com alguns campos já preenchidos. O diretório é organizado por UF, lembre-se de mover o arquivo para o diretório adequado.

Como executar

Para experimentar a execução de um raspador já integrado ao projeto ou testar o que esteja desenvolvendo, siga os comandos:
  • Se ainda não o fez, ative o ambiente virtual no diretório /querido-diario:
console
source .venv/bin/activate
  • Vá para o diretório data_collection:
cd data_collection
  • Verifique a lista de raspadores disponíveis:
scrapy list
  • Execute um raspador da lista:
scrapy crawl <nomedoraspador>       //exemplo: scrapy crawl ba_acajutiba
  • Os diários coletados na raspagem serão salvos no diretório data_collection/data

Dicas de execução

Além dos comandos acima, o Scrapy oferece outros recursos para configurar o comando de raspagem. Os recursos a seguir podem ser usados sozinhos ou combinados.
  • Limite de data
Ao executar o item 4, o raspador coletará todos os diários oficiais do site publicador daquele município. Para execuções menores, utilize a flag de atributo -a seguida de:

start=AAAA-MM-DD: definirá a data inicial de coleta de diários.

scrapy crawl <nomedoraspador> -a start=<AAAA-MM-DD>
end=AAAA-MM-DD: definirá a data final de coleta de diários. Caso omitido, assumirá a data do dia em que está sendo executado.
scrapy crawl <nomedoraspador> -a end=<AAAA-MM-DD>

  • Arquivo de log
É possível enviar o log da raspagem para um arquivo ao invés de deixá-lo no terminal. Isto é particularmente útil quando se desenvolve um raspador que apresenta problemas e você quer enviar o arquivo de log no seu PR para obter ajuda. Para isso, use a flag de configuração -s seguida de:

LOGFILE=log<nomedomunicipio>.txt: definirá o arquivo para armazenar as mensagens de log.

scrapy crawl <nomedoraspador> -s LOGFILE=log<nomedomunicipio>.txt

  • Tabela de raspagem
Também é possível construir uma tabela que lista todos os diários e metadados coletados pela raspagem, ficando mais fácil de ver como o raspador está se comportando. Para isso, use a flag de saída -o seguida de um nome para o arquivo.
scrapy crawl <nomedoraspador> -o <nomedomunicipio>.csv

Solução de problemas

Confira o arquivo de solução de problemas para resolver os problemas mais frequentes com a configuração do ambiente do projeto.

Comunidade

Discord Invite

Ingresse em nosso canal de comunidade para trocas sobre os projetos, dúvidas, pedidos de ajuda com contribuição e conversar sobre inovação cidadã em geral.

Agradecimentos

Este projeto é mantido pela Open Knowledge Brasil e possível graças às comunidades técnicas, às pessoas voluntárias e doadoras financeiras, além de universidades parceiras, empresas apoiadoras e financiadoras.

Conheça quem apoia o Querido Diário.

Open Knowledge Brasil

Bluesky Follow Instagram Follow LinkedIn Follow Mastodon Follow

A Open Knowledge Brasil é uma organização da sociedade civil sem fins lucrativos, cuja missão é utilizar e desenvolver ferramentas cívicas, projetos, análises de políticas públicas, jornalismo de dados para promover o conhecimento livre nos diversos campos da sociedade.

Todo o trabalho produzido pela OKBR está disponível livremente.

Documentação completa

Aqui está uma lista completa de toda a documentação disponível na pasta docs/:

Licença

Este projeto está licenciado sob a Licença MIT.

🔗 More in this category

© 2026 GitRepoTrend · okfn-brasil/querido-diario · Updated daily from GitHub