Português (BR) | English (US)
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
- Como contribuir
- Ambiente de desenvolvimento
- Template para raspadores
- Como executar
- Solução de problemas
- Suporte
- Agradecimentos
- Open Knowledge Brasil
- Documentação completa
- Licença
Agradecemos por considerar contribuir com o Querido Diário! 🎉
Você encontra como fazê-lo no CONTRIBUTING.md!
Além disso, consulte a documentação do Querido Diário para te ajudar.
Você precisa ter o uv instalado, que cuida de instalar a versão correta do Python e gerenciar o ambiente virtual do projeto.
Os comandos abaixo preparam o ambiente. Eles consistem em instalar as dependências (incluindo as de desenvolvimento) do diretório querido_diario_raspadores e a ferramenta para padronização de código pre-commit.
cd querido_diario_raspadores
uv sync --all-groups
cd ..
uv tool install pre-commit
pre-commit installA 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.
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
querido_diario_raspadores:
cd querido_diario_raspadores- Acione o template:
uv run scrapy genspider -t qdtemplate <uf_nome_do_municipio> <https://sitedomunicipio...>Um arquivo uf_nome_do_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.
Para experimentar a execução de um raspador já integrado ao projeto ou testar o que esteja desenvolvendo, siga os comandos:
- Vá para o diretório
querido_diario_raspadores:
cd querido_diario_raspadores- Verifique a lista de raspadores disponíveis:
uv run scrapy list- Execute um raspador da lista:
uv run scrapy crawl <nome_do_raspador> //exemplo: scrapy crawl ba_acajutiba- Os diários coletados na raspagem serão salvos no diretório
querido_diario_raspadores/data
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 3, o raspador coletará todos os diários oficiais do site publicador daquele município. Para execuções menores, utilize a flag de atributo-aseguida de:
start=AAAA-MM-DD: definirá a data inicial de coleta de diários.
uv run scrapy crawl <nome_do_raspador> -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.
uv run scrapy crawl <nome_do_raspador> -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-sseguida de:
LOG_FILE=log_<nome_do_municipio>.txt: definirá o arquivo para armazenar as mensagens de log.
uv run scrapy crawl <nome_do_raspador> -s LOG_FILE=log_<nome_do_municipio>.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-oseguida de um nome para o arquivo.
uv run scrapy crawl <nome_do_raspador> -o <nome_do_municipio>.csvConfira o arquivo de solução de problemas para resolver os problemas mais frequentes com a configuração do ambiente do projeto.
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.
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.
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.
Aqui está uma lista completa de toda a documentação disponível na pasta docs/:
- Código de Conduta | Código de Conduta (EN)
- Guia de Contribuição | Guia de Contribuição (EN)
- Suporte | Suporte (EN)
- Solução de Problemas | Solução de Problemas (EN)
Este projeto está licenciado sob a Licença MIT.