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

Adiciona mapeador ATENDE #1043

Merged

Conversation

AlexJBSilva
Copy link
Contributor

@AlexJBSilva AlexJBSilva commented Nov 23, 2023

Implementa a sugestão apresentada em 919 (comment)

NOTA: Link para a página de cada município: https://{city}.atende.net

Por não ser um domínio governamental (diferente de .{uf}.gov.br), apresenta o problema conhecido: encontra URLs de interesse, mas vincula na cidade errada.

Considerações sobre desempenho:

  1. Ao retirar o http dos protocolos de mapeamento e não tentar mapear o link 'base' para a página de cada município {protocol}://{city}.atende.net, o tempo para mapear 500 cidades (tempo entre backups parciais) foi reduzido de 2h40min para 25 minutos.

AO ABRIR um Pull Request de um novo raspador (spider), marque com um X cada um dos items do checklist
abaixo. NÃO ABRA um novo Pull Request antes de completar todos os items abaixo.

Checklist - Novo Mapeador

  • Você executou uma extração completa do spider localmente e os dados retornados estavam corretos.
  • Você verificou que não existe nenhum erro nos logs (log_count/ERROR igual a zero).
    [ N.A.: Não se aplica, pois ALGUNS erros são esperados no processo de mapeamento. ]

Descrição

Adiciona mapeador ATENDE
Amplia solução para #919

@trevineju
Copy link
Member

@AlexJBSilva, será que ao invés de enviar uma PR pra main, você não conseguiria enviar pra branch class-mapeador?

@trevineju
Copy link
Member

Aliás, não tem problema o mapeador não estar excelente. Você tem o arquivo de mapeamento que ele gerou? Das cidades contempladas?

@AlexJBSilva
Copy link
Contributor Author

AlexJBSilva commented Nov 23, 2023

@AlexJBSilva, será que ao invés de enviar uma PR pra main, você não conseguiria enviar pra branch class-mapeador?

@trevineju, eu abri o PR para a branch class-mapeador.
Está aparecendo para você algo diferente do que está aqui (print abaixo)?

Print do PR para a branch certa


Aliás, não tem problema o mapeador não estar excelente. Você tem o arquivo de mapeamento que ele gerou? Das cidades contempladas?

Tenho o arquivo de mapeamento sim. :)
dados_mapeamento_20231123.csv
Aviso: o csv.DictWriter() salvou o arquivo com ANSI aqui no Windows, ao invés de UTF-8.

@AlexJBSilva
Copy link
Contributor Author

Atualiza o mapeador para 'mitigar' o problema de vincular a URL na cidade errada:

  1. Aproveitando a informação de email .gov.br encontrada em algumas páginas, extrai o nome da cidade e a sigla do estado e insere como lista logo após a URL de origem da informação.
  2. Como teste, também extrai o nome da cidade e a sigla do estado do bloco de mapa/endereço (tem pelo menos mais uma variante de modelo de classe nas páginas que não está sendo extraída).

Extrai todos os links para 'diario' e insere logo após a URL da página de origem da informação.
Assim fica mais fácil identificar os links válidos para o D.O. da cidade.


Destaques

  • Muitas páginas possuem carregamento dinâmico de componentes (via javascripit) e isso afeta a precisão do validador.
  • Tem pelo menos dois exemplos de layout:
  1. Campo Mourão /?pg=diariooficial, Gravataí /diariooficial/edicao

  2. Camaquã: /cidadao/pagina/diario-oficial


Arquivos

@AlexJBSilva AlexJBSilva mentioned this pull request Nov 24, 2023
16 tasks
@AlexJBSilva AlexJBSilva marked this pull request as ready for review November 24, 2023 12:31
AlexJBSilva added a commit to AlexJBSilva/querido-diario that referenced this pull request Dec 4, 2023
Essa versão implementa a classe 'BaseAtendeT2Spider' para buscar os
dirários nas páginas com layout 'Tipo 2', identificadas pelo Mapeador
Atende desenvolvido em okfn-brasil#1043.
Implementa sugestão apresentada em okfn-brasil#919
okfn-brasil#919

W.I.P.: Ainda precisa de melhorias.
do estado encontrados nas páginas visitadas, para mitigar o problema
de vinculr a URL na cidade errada.
Inclui os links para 'diario' encontrados nas páginas visitadas, de
forma a ajudar na identificação do link correto, já que a validação
não está muito precisa.
@trevineju
Copy link
Member

Obrigada pela PR, @AlexJBSilva!

@trevineju trevineju merged commit e4b829a into okfn-brasil:class-mapeador Mar 4, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants