diff --git a/data_collection/gazette/settings.py b/data_collection/gazette/settings.py index 7f951e418..ef7cf28aa 100644 --- a/data_collection/gazette/settings.py +++ b/data_collection/gazette/settings.py @@ -16,6 +16,8 @@ "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0" ) +TEMPLATES_DIR = "templates" + DOWNLOAD_TIMEOUT = 360 FILES_STORE = config("FILES_STORE", default="data") diff --git a/data_collection/templates/spiders/qdtemplate.tmpl b/data_collection/templates/spiders/qdtemplate.tmpl new file mode 100644 index 000000000..c32b4a132 --- /dev/null +++ b/data_collection/templates/spiders/qdtemplate.tmpl @@ -0,0 +1,29 @@ +from datetime import date + +from gazette.items import Gazette +from gazette.spiders.base import BaseGazetteSpider + +class UFMunicipioSpider(BaseGazetteSpider): + name = "$name" + TERRITORY_ID = "" + allowed_domains = ["$domain"] + start_urls = ["$url"] + start_date = date() + + def parse(self, response): + # Lógica de extração de metadados + + # partindo de response ... + # + # ... o que deve ser feito para coletar DATA DO DIÁRIO? + # ... o que deve ser feito para coletar NÚMERO DA EDIÇÃO? + # ... o que deve ser feito para coletar se a EDIÇÃO É EXTRA? + # ... o que deve ser feito para coletar a URL DE DOWNLOAD do arquivo? + + yield Gazette( + date = date(), + edition_number = "", + is_extra_edition = False, + file_urls = [""], + power = "executive", + ) \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 8cddd0eeb..cffd41a02 100644 --- a/docs/README.md +++ b/docs/README.md @@ -13,6 +13,7 @@ Conheça mais sobre as [tecnologias](https://queridodiario.ok.org.br/tecnologia) # Sumário - [Como contribuir](#como-contribuir) - [Ambiente de desenvolvimento](#ambiente-de-desenvolvimento) +- [Template para raspadores](#template-para-raspadores) - [Como executar](#como-executar) - [Dicas de execução](#dicas-de-execução) - [Solução de problemas](#solução-de-problemas) @@ -48,6 +49,21 @@ pre-commit install > A configuração em outros sistemas operacionais está disponível em ["como configurar o ambiente de desenvolvimento"](/docs/CONTRIBUTING.md#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: + +1. Vá para o diretório `data_collection`: +```console +cd data_collection +``` +2. Acione o template: +```console +scrapy genspider -t qdtemplate +``` + +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. + # Como executar Para experimentar a execução de um raspador já integrado ao projeto ou testar o que esteja desenvolvendo, siga os comandos: