okfn-brasil / querido-diario

📰 Diários oficiais brasileiros acessíveis a todos | 📰 Brazilian government gazettes, accessible to everyone.
https://queridodiario.ok.org.br/
MIT License
1.11k stars 411 forks source link

Adiciona novo spider base dioenet #1259

Closed trevineju closed 2 months ago

trevineju commented 2 months ago

AO ABRIR uma Pull Request de um novo raspador (spider), marque com um X cada um dos items da checklist abaixo. Caso algum item não seja marcado, JUSTIFIQUE o motivo.

Layout do site publicador de diários oficiais

Marque apenas um dos itens a seguir:

Código da(s) spider(s)

Testes

Verificações

Descrição

resolve #752

trevineju commented 2 months ago

@almeidadm puxei seus commits para cá para finalizar a PR.

Deixei o commit https://github.com/okfn-brasil/querido-diario/pull/1259/commits/b6335d8765bfd3070c3b79e736bb279a607abc85 separado para você ver o que foi mudado do código que você estava desenvolvendo para as adições que fiz.

No geral foram coisas simples:

  1. Desfiz a generalização da lógica de criação da url: naquele caso, é mais interessante deixar BASE_URL nos raspadores individuais já que a lógica de criação do caminho pode ser muito personalizável
  2. Também desfiz a generalização do poder para permitir que essa seja uma informação diferente para cada município
  3. Na issue que motivou esta tarefa (#752), você e Giulio estavam discutindo que o raspador estava coletando o HTML da página e não o documento. A solução mais prática ao meu ver foi navegar na página de visualização (que na prática é uma página intermediária) e pegar a url do documento lá. Para isso, adicionei o método get_gazette_url()

Mas teve uma modificação maior: Ao invés de navegar no site usando DAILY (1 requisição para 1 diário), adaptei o código para navegar WEEKLY (1 requisição para 7 diários, teoricamente) e fazer menos requisições ao site. Como a quantidade de itens que a página da solução exibe é de 10 e tem semanas com edições extras, adicionei a conferencia por paginação.

Como sempre, estava show seu código! Obrigada!

trevineju commented 2 months ago

Tudo certo com os logs, no geral. Presença de alguns warning de documentos coletados que são grandes

intervalo_rj_sumidouro.log intervalo_rj_sumidouro.csv intervalo_sp_taubate.log intervalo_sp_taubate.csv intervalo_rj_nova_friburgo.log intervalo_rj_nova_friburgo.csv intervalo_pr_marilandia_do_sul.log intervalo_pr_marilandia_do_sul.csv

completa_rj_sumidouro.log completa_rj_sumidouro.csv completa_sp_taubate.log completa_sp_taubate.csv completa_rj_nova_friburgo.log completa_rj_nova_friburgo.csv completa_pr_marilandia_do_sul.log completa_pr_marilandia_do_sul.csv