Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Am associacao municipal devolpment #1315

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

TLaidler
Copy link

@TLaidler TLaidler commented Oct 31, 2024

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:

  • O layout não se parece com nenhum caso da lista de layouts padrão
  • É um layout padrão e esta PR adiciona a spider base do padrão ao projeto junto com alguns municípios que fazem parte do padrão.
  • É um layout padrão e todos os municípios adicionados usam a classe de spider base adequada para o padrão.

Código da(s) spider(s)

  • O(s) raspador(es) adicionado(s) tem os atributos de classe exigidos.
  • O(s) raspador(es) adicionado(s) cria(m) objetos do tipo Gazette coletando todos os metadados necessários.
  • O atributo de classe start_date foi preenchido com a data da edição de diário oficial mais antiga disponível no site.
  • Explicitar o atributo de classe end_date não se fez necessário.
  • Não utilizo custom_settings em meu raspador.

Testes

  • Uma coleta-teste da última edição foi feita. O arquivo de .log deste teste está anexado na PR.
  • Uma coleta-teste por intervalo arbitrário foi feita. Os arquivos de .loge .csv deste teste estão anexados na PR.
  • Uma coleta-teste completa foi feita. Os arquivos de .log e .csv deste teste estão anexados na PR.

Verificações

  • Eu experimentei abrir alguns arquivos de diários oficiais coletados pelo meu raspador e verifiquei eles conforme a documentação não encontrando problemas.
  • Eu verifiquei os arquivos .csv gerados pela minha coleta conforme a documentação não encontrando problemas.
  • Eu verifiquei os arquivos de .log gerados pela minha coleta conforme a documentação não encontrando problemas.

Descrição

Este Pull Request resolve a issue #1296, que abordava a necessidade de ajustar o raspador para o site da Associação de Municípios do Amazonas. Devido a mudanças no layout e no padrão de URL do site, foi necessário adaptar o código e criar um novo spider.

Embora o layout do site não siga mais os padrões anteriores, as URLs dos PDFs mantêm uma estrutura previsível que permite a criação de um loop para geração das URLs. A abordagem escolhida foi similar à utilizada para corrigir o spider rj_niteroi, mas adaptada ao novo padrão de data da URL do site atual, no formato YYYYMMDD.

Essas alterações garantem que o raspador identifique corretamente os arquivos PDFs diários, mantendo a robustez do sistema para futuras atualizações de layout.

Além disso, pude encontrar o start_date correto (no caso, a data é 2009-10-19: https://diariomunicipalaam.org.br/visualizar-publicacao/20091019).

O intervalo arbitrário do teste 2 foi entre as datas 1-12-2023 ~ 31-10-2024.

Embora a issue esteja concluída, identifiquei pontos que ainda podem ser melhorados. Por exemplo, em alguns dias há duas publicações distintas (um diário e um extraordinário), como observado no dia 29-10-2024: publicação do diário e publicação extraordinária. O raspador atualmente não consegue distinguir entre esses tipos de publicações, resultando em dias tratados como vazios.

Além disso, ao acessar dias sem publicações válidas, o raspador retorna pastas com arquivos contendo o HTML da página. Seria ideal que ele ignorasse essas páginas vazias, assegurando que apenas arquivos PDF funcionais sejam coletados. Embora eu não tenha tido tempo suficiente para explorar cada um desses problemas, encorajo outros colaboradores focarem nessa issue.

Abraços!

teste3_am_associacao_mun.csv
teste1_am_associacao_mun.log
teste1_am_associacao_mun.csv
teste2_am_ssociacao_mun.csv
teste_2_am_associacao_mun.log
teste3_am_associacao_mun.log

EDIT: O commit que atualiza o rj_niteroi (issue designada a outra pessoa, mas eu decidi brincar com isso) está vazio. Transferi essas alterações para uma branch minha, mas o commit permaneceu. ^^

TLaidler and others added 3 commits October 29, 2024 15:54
- [x] Domínio e URL atualizados
- [x] Uso de dateutil.rrule para melhorar a iteração por datas.
- [x] Substituição de .parse() por .start_requests() para uma abordagem mais limpa e eficiente.
- [x] Formatação correta do dia na URL com dois dígitos.
- [x] Verificação de status HTTP para garantir que o arquivo existe antes de processar.
- [x] Melhoria no código em termos de clareza e manutenção futura seguindo PEP8

Revert "Update rj_niteroi.py"

This reverts commit 1fa43c3.
@TLaidler TLaidler marked this pull request as ready for review October 31, 2024 21:42
@TLaidler TLaidler closed this Oct 31, 2024
@TLaidler TLaidler reopened this Oct 31, 2024
@TLaidler TLaidler force-pushed the am_associacao_municipal_devolpment branch from f4aeb69 to ab7f8fc Compare October 31, 2024 21:56
@trevineju trevineju linked an issue Nov 1, 2024 that may be closed by this pull request
@trevineju trevineju added the hacktoberfest-accepted Pull Requests aprovados na Hacktoberfest label Nov 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hacktoberfest-accepted Pull Requests aprovados na Hacktoberfest
Projects
Status: novo
Development

Successfully merging this pull request may close these issues.

Atualizar raspador para a Associação de Municípios do Amazonas
2 participants