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 10 novos raspadores do Rio Grande do Norte #1166

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

Conversation

trevineju
Copy link
Member

@trevineju trevineju commented Jun 13, 2024

As spiders adicionadas nesta PR foram criadas com um script criador de código, por isso toda essa PR deve ser revisada em todos os detalhes e também ser testada.

Fica a cargo da pessoa revisora verificar a lista de validações para contribuições.

@jjpaulo2
Copy link
Contributor

@trevineju vou fazer essa revisão.

@jjpaulo2
Copy link
Contributor

A princípio, tudo ok. Os spiders rodaram certinho, e pegaram os diários necessários.

Há erros nos arquivos rn_rodolfo_fernandes_yesterday.log, rn_passa_e_fica_yesterday.log, rn_major_sales_yesterday.log, rn_joao_dias_yesterday.log, rn_francisco_dantas_yesterday.log e rn_carnaubais_yesterday.log, mas porque estes municípios podem não publicar diários todos os dias.

rn_carnaubais_complete.csv
rn_carnaubais_complete.log
rn_carnaubais_interval.csv
rn_carnaubais_interval.log
rn_carnaubais_yesterday.csv
rn_carnaubais_yesterday.log
rn_encanto_complete.csv
rn_encanto_complete.log
rn_encanto_interval.csv
rn_encanto_interval.log
rn_encanto_yesterday.csv
rn_encanto_yesterday.log
rn_francisco_dantas_complete.csv
rn_francisco_dantas_complete.log
rn_francisco_dantas_interval.csv
rn_francisco_dantas_interval.log
rn_francisco_dantas_yesterday.csv
rn_francisco_dantas_yesterday.log
rn_itau_complete.csv
rn_itau_complete.log
rn_itau_interval.csv
rn_itau_interval.log
rn_itau_yesterday.csv
rn_itau_yesterday.log
rn_joao_dias_complete.csv
rn_joao_dias_complete.log
rn_joao_dias_interval.csv
rn_joao_dias_interval.log
rn_joao_dias_yesterday.csv
rn_joao_dias_yesterday.log
rn_luis_gomes_complete.csv
rn_luis_gomes_complete.log
rn_luis_gomes_interval.csv
rn_luis_gomes_interval.log
rn_luis_gomes_yesterday.csv
rn_luis_gomes_yesterday.log
rn_major_sales_complete.csv
rn_major_sales_complete.log
rn_major_sales_interval.csv
rn_major_sales_interval.log
rn_major_sales_yesterday.csv
rn_major_sales_yesterday.log
rn_nova_cruz_complete.csv
rn_nova_cruz_complete.log
rn_nova_cruz_interval.csv
rn_nova_cruz_interval.log
rn_nova_cruz_yesterday.csv
rn_nova_cruz_yesterday.log
rn_passa_e_fica_complete.csv
rn_passa_e_fica_complete.log
rn_passa_e_fica_interval.csv
rn_passa_e_fica_interval.log
rn_passa_e_fica_yesterday.csv
rn_passa_e_fica_yesterday.log
rn_rodolfo_fernandes_complete.csv
rn_rodolfo_fernandes_complete.log
rn_rodolfo_fernandes_interval.csv
rn_rodolfo_fernandes_interval.log
rn_rodolfo_fernandes_yesterday.csv
rn_rodolfo_fernandes_yesterday.log

jjpaulo2

This comment was marked as outdated.

Co-authored-by: João Paulo Carvalho <[email protected]>
Signed-off-by: Juliana Trevine <[email protected]>
Copy link
Contributor

@jjpaulo2 jjpaulo2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shooow! Aprovado!

@trevineju
Copy link
Member Author

Valeu pelos logs, @jjpaulo2! Como falamos sobre o script verificador de logs, vou adicionar comentários detalhados aqui complementando seus apontamentos. Podemos encarar que cada item é um incremento de verificação que o script precisaria ter.

Não teve nenhum erro como você já notou, mas warnings devem ser vistos tb... Como warning não é erro, nada impede de ter o raspador, mas indica algumas coisas que pode ser que queiramos saber para tomar providências.

- Procurar por WARNING: Something wrong has happened when adding the gazette in the database

Isso é Erro de Integridade no Banco e existe para apontar coleta de arquivo repetido, indicando a data e o hash do arquivo.
image

ps.: Olhei uns casos e me parece que aqui na PR não é realmente um problema, vc só deve ter esquecido de deletar o SQLite da sua máquina ao fazer coletas sequenciais. Mas, idealmente, é para aparecer quando for problema no site da prefeitura.

- Procurar por WARNING: File (empty-content): Empty file from

Arquivo vazio no site da prefeitura
image

- Procurar por WARNING: Received more bytes than download warn size

Arquivo de tamanho maior que esperado foi baixado. Não impediu de baixar, mas avisou. Também é interessante contabilizar pq, se for muito frequente, talvez tenhamos que ter uma config personalizada para aumentar o tamanho de arquivo permitido.
image

- Procurar por downloader/response_status_count/

As responses são agrupadas pelo status e o código. Aqui praticamente só deu 200, o que é ótimo, mas aquele 404 ali chama atenção... Um avaliador de logs poderia ter uma mensagem que lista os códigos que apareceram ali e o valor dele, mencionando que se aparecer outros valores que não 200, merece atenção.
image

- Procurar por file_count

Fui olhar o que era aquele 404, e percebi que rn_encanto não baixou nada. Dá erro logo na primeira request. Acho que o jeito mais prático de automatizar a verificação aqui é procurar pelo contador de arquivos baixados e, caso nao esteja presente (como é o caso para Encanto), dar um aviso.

Vou remover esse raspador da PR pq parece que o município não usa mais o site e migrou para outro.

Signed-off-by: Juliana Trevine <[email protected]>
@jjpaulo2
Copy link
Contributor

jjpaulo2 commented Oct 4, 2024

Obrigado pelos apontamentos @trevineju.

O warning de integridade é porque eu já havia rodado o scrapping e os registros já estavam cadastrados no meu banco local. Acho que o ideal é sempre limpar o banco antes de rodar esses scrappings.

Obrigado pelos outros comentários. Vou incluir isso no script.

@trevineju
Copy link
Member Author

Ainda não consegui terminar de olhar os .csv. Mas o mais chato de analisar eles é verificar a sequência de data.

Por exemplo, Francisco Dantas, que ao ordenar, dá pra perceber um monte de pulo... 2009, de repente, 2017... Tem que pensar o que vamos fazer aqui...
image

Pensando no código revise isso, acho que um script que olhe pro querido-diario.db deve ser mais fácil de fazer do que usar o pandas pra carregar a tabela... mas aí você que sabe. Teria que pensar umas regras do que e como validar

@trevineju
Copy link
Member Author

Obrigado pelos apontamentos @trevineju.

Que rápido! hahaha

@trevineju
Copy link
Member Author

Obrigada você por tar aprimorando isso! Acho que podemos pensar no avaliador de forma incremental, que tal? Vamos testando em PRs e adicionando coisas

@jjpaulo2
Copy link
Contributor

jjpaulo2 commented Oct 4, 2024

Perfeito @trevineju! Vamos fazer isso sim 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: novo
Development

Successfully merging this pull request may close these issues.

2 participants