GithubHelp home page GithubHelp logo

brenofariasdasilva / querido-diario Goto Github PK

View Code? Open in Web Editor NEW

This project forked from okfn-brasil/querido-diario

0.0 0.0 0.0 17 MB

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

Home Page: https://queridodiario.ok.org.br/

License: MIT License

Python 99.74% Makefile 0.26%

querido-diario's Introduction

Português (BR) | English (US)

Querido Diário

Querido Diário

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

Como contribuir

catarse

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.

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.

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.

Como executar

Para experimentar a execução de um raspador já integrado ao projeto ou testar o que esteja desenvolvendo, siga os comandos:

  1. Se ainda não o fez, ative o ambiente virtual no diretório /querido-diario:
source .venv/bin/activate
  1. Vá para o diretório data_collection:
cd data_collection
  1. Verifique a lista de raspadores disponíveis:
scrapy list
  1. Execute um raspador da lista:
scrapy crawl <nome_do_raspador>       //exemplo: scrapy crawl ba_acajutiba
  1. 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_date=AAAA-MM-DD: definirá a data inicial de coleta de diários.

scrapy crawl <nome_do_raspador> -a start_date=<AAAA-MM-DD>

end_date=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 <nome_do_raspador> -a end_date=<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: LOG_FILE=log_<nome_do_municipio>.txt: definirá o arquivo para armazenar as mensagens de log.
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 -o seguida de um nome para o arquivo.
scrapy crawl <nome_do_raspador> -o <nome_do_municipio>.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.

Suporte

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 cívica em geral.

Agradecimentos

Este projeto é mantido pela Open Knowledge Brasil e possível graças às comunidades técnicas, às Embaixadoras de Inovação Cívica, à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

Twitter Follow Instagram Follow LinkedIn 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.

Licença

Código licenciado sob a Licença MIT.

querido-diario's People

Contributors

jvanz avatar rennerocha avatar trevineju avatar irio avatar ogecece avatar cuducos avatar giovanisleite avatar sergiomario avatar antoniovendramin avatar tatilattanzi avatar dannnylo avatar brunolellis avatar rodbv avatar anapaulagomes avatar rodolfolottin avatar victor-torres avatar alfakini avatar ayharano avatar gbonesso avatar pgarcias01 avatar vitorbaptista avatar alvarolqueiroz avatar feliperuhland avatar he7d3r avatar danielbom avatar jaswdr avatar vicitel avatar luzfcb avatar winzen avatar camilafracaro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.