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 novos 7 raspadores #1280

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions data_collection/gazette/spiders/al/al_sao_luis_do_quitunde.py
Copy link
Contributor

Choose a reason for hiding this comment

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

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

Adiciona raspador de município replicado AL_SAO_LUIS_DO_QUITUNDE (2708501) a partir do padrão BaseMunicipioOnlineSpider (#1095)

Achados de Revisão

NENHUM! Os LOGs de execução do SPIDER_BASE não apresentaram ERROS de coleta. E, apesar da checagem das edições apontar para falta de várias "números", esse comportamento é compatível com as edições realmente disponiilizadas no site! Portanto, o problema estaria na fonte dos dados e não no raspador!

Log Files (Tests)

al_sao_luis_do_quitunde_full_2024-11-11.csv
al_sao_luis_do_quitunde_full_2024-11-11.log
al_sao_luis_do_quitunde_last_2024-11-04__.csv
al_sao_luis_do_quitunde_last_2024-11-04__.log
al_sao_luis_do_quitunde_between_2020-07-29_2020-08-28.csv
al_sao_luis_do_quitunde_between_2020-07-29_2020-08-28.log

Log Summary (Tests)

==============================================
 RESULT iCAL => MOL (al_sao_luis_do_quitunde)
==============================================
URL: https://www.municipioonline.com.br/al/prefeitura/saoluisdoquitunde/cidadao/diariooficial
Site | Editions: 241
Site | Start_Date: 2020-07-29 <=> 2020-07-29 [Spider] | TRUE
Site | End_Date: 2024-11-04
Duration: 00:00:05 (iCAL)
=========================================================
RESULT TEST => LAST_2024-11-04 (al_sao_luis_do_quitunde)
=========================================================
params => ['-a', 'start_date=2024-11-04']
 'item_scraped_count': 1,
 'log_count/DEBUG': 6,
 'log_count/INFO': 34,
Duration: 60.64125871658325 (LAST)
=======================================================================
RESULT TEST => BETWEEN_2020-07-29_2020-08-28 (al_sao_luis_do_quitunde)
=======================================================================
params => ['-a', 'start_date=2020-07-29', '-a', 'end_date=2020-08-28']
 'item_scraped_count': 6,
 'log_count/DEBUG': 21,
 'log_count/INFO': 34,
Duration: 54.171008586883545 (BETWEEN)
=========================================================
RESULT TEST => FULL_2024-11-11 (al_sao_luis_do_quitunde)
=========================================================
params => []
 'item_scraped_count': 242,
 'log_count/DEBUG': 737,
 'log_count/INFO': 46,
 'log_count/WARNING': 31,
Duration: 3474.805670976639 (FULL)
Duration: 3589.6180095672607 (ALL COLLECTS)
==================================
 SUM UP (al_sao_luis_do_quitunde)
==================================
Collected Editions (BETWEEN) => 6
Collected Editions (FULL) => 242
Missed Editions => (146) [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292]
First/End Editions => 1/388 (388) => If complete range!
Duration: 00:00:00 (Check CSV/FULL)

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datetime import date

from gazette.spiders.base.municipioonline import BaseMunicipioOnlineSpider


class AlSaoLuisDoQuitundeSpider(BaseMunicipioOnlineSpider):
TERRITORY_ID = "2708501"
name = "al_sao_luis_do_quitunde"
url_uf = "al"
url_city = "saoluisdoquitunde"
start_date = date(2020, 7, 29)
11 changes: 11 additions & 0 deletions data_collection/gazette/spiders/ba/ba_itanhem.py
Copy link
Contributor

Choose a reason for hiding this comment

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

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

Adiciona raspador de município replicado BA_ITANHEM (2916005) a partir do padrão BaseMunicipioOnlineSpider (#1095)

Achados de Revisão

NENHUM! Os LOGs de execução do SPIDER_BASE não apresentaram ERROS de coleta e a checagem dos arquivos coletados não mostrou falta de edições.

Log Files (Tests)

ba_itanhem_last_2024-11-14__.csv
ba_itanhem_last_2024-11-14__.log
ba_itanhem_between_2021-01-05_2021-02-04.csv
ba_itanhem_between_2021-01-05_2021-02-04.log
ba_itanhem_full_2024-11-12.csv
ba_itanhem_full_2024-11-12.log

Log Summary (Tests)

=================================
 RESULT iCAL => MOL (ba_itanhem)
=================================
URL: https://www.municipioonline.com.br/ba/prefeitura/itanhem/cidadao/diariooficial
Editions: 829
Start_Date: 2021-01-05 <=> 2021-01-05 | TRUE
End_Date: 2024-11-14
Duration: 00:00:07 (iCAL)
==================================================
RESULT TEST => LAST_2024-11-14 (ba_itanhem)
==================================================
params => ['-a', 'start_date=2024-11-14']
 'item_scraped_count': 1,
 'log_count/DEBUG': 7,
 'log_count/INFO': 36,
Duration: 60.64125871658325 (LAST)
==================================================
RESULT TEST => BETWEEN_2021-01-05_2021-02-04 (ba_itanhem)
==================================================
params => ['-a', 'start_date=2021-01-05', '-a', 'end_date=2021-02-04']
 'item_scraped_count': 14,
 'log_count/DEBUG': 50,
 'log_count/INFO': 36,
Duration: 54.171008586883545 (BETWEEN)
==================================================
RESULT TEST => FULL_2024-11-12 (ba_itanhem)
==================================================
params => []
 'item_scraped_count': 828,
 'log_count/DEBUG': 2512,
 'log_count/INFO': 101,
 'log_count/WARNING': 72,
Duration: 3474.805670976639 (FULL)
Duration: 3589.6180095672607 (ALL COLLECTS)
=====================
 SUM UP (ba_itanhem)
=====================
Collected Editions (BETWEEN) => 14
Collected Editions (FULL) => 828
Missed Editions => (0) []
First/End Editions => 1/828 (828) => If complete range!
Duration: 00:00:01 (Check CSV/FULL)



Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datetime import date

from gazette.spiders.base.municipioonline import BaseMunicipioOnlineSpider


class BaItanhemSpider(BaseMunicipioOnlineSpider):
TERRITORY_ID = "2916005"
name = "ba_itanhem"
url_uf = "ba"
url_city = "itanhem"
start_date = date(2021, 1, 5)
11 changes: 11 additions & 0 deletions data_collection/gazette/spiders/se/se_macambira.py
Copy link
Contributor

@jreagle jreagle Nov 15, 2024

Choose a reason for hiding this comment

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

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

Adiciona raspador de município replicado SE_MACAMBIRA (2803708) a partir do padrão BaseMunicipioOnlineSpider (#1095)

Achados de Revisão

Por algum motivo que não consegui descobrir o SPIDER_BASE não conseguiu coletar 138x edições, apesar delas estarem disponíveis no site normalmente.

Os LOGs de execução do SPIDER_BASE apresentaram apenas 2x ERROS na execução do teste "FULL', na verdade apenas 1x HTTP 500 e o desdobramento no SPIDERMOON. Mas não considerei relevante considerando a quantidade de requisições e o fato de que não ajuda esclarecer a falta das edições na coleta. Além disso, a DocString do SPIDER_BASE apresenta um alerta sobre um comportamento similar (HTTP 500) do servidor para requisições de grandes períodos.

Portanto, cheguei a conclusão isso é um problema fora do escopo desse SPIDER_REPLICADO já que os LOGs não apresentaram falhas específicas de download que possam ser relacionadas as essas edições.

Naquilo que ele conseguiu coletar, o comportamento da execução me pareceu adequado.

Log Files (Tests)

se_macambira_last_2024-11-08.log
se_macambira_between_2019-01-22_2019-02-21.csv
se_macambira_between_2019-01-22_2019-02-21.log
se_macambira_full_2024-11-12.csv
se_macambira_full_2024-11-12.log
se_macambira_last_2024-11-08.csv

Log Summary (Tests)

===================================
 RESULT iCAL => MOL (se_macambira)
===================================
URL: https://www.municipioonline.com.br/se/prefeitura/macambira/cidadao/diariooficial
Editions: 983
Start_Date: 2019-01-22 <=> 2019-01-22 | TRUE
End_Date: 2024-11-13
Duration: 00:00:05 (iCAL)
==================================================
RESULT TEST => LAST_2024-11-08 (se_macambira)
==================================================
params => ['-a', 'start_date=2024-11-08']
 'item_scraped_count': 1,
 'log_count/DEBUG': 7,
 'log_count/INFO': 36,
Duration: 60.64125871658325
==================================================
RESULT TEST => BETWEEN_2019-01-22_2019-02-21 (se_macambira)
==================================================
params => ['-a', 'start_date=2019-01-22', '-a', 'end_date=2019-02-21']
 'item_scraped_count': 15,
 'log_count/DEBUG': 48,
 'log_count/INFO': 34,
Duration: 54.171008586883545
==================================================
RESULT TEST => FULL_2024-11-12 (se_macambira)
==================================================
params => []
 'item_scraped_count': 844,
 'log_count/DEBUG': 2567,
 'log_count/ERROR': 2,
 'log_count/INFO': 94,
 'log_count/WARNING': 26,
Collected Editions => 844
Missed Editions => (138) [335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473]
First/End Editions => 1 982 (982)
Duration: 3474.805670976639
Duration (Collets): 3589.6180095672607

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datetime import date

from gazette.spiders.base.municipioonline import BaseMunicipioOnlineSpider


class SeMacambiraSpider(BaseMunicipioOnlineSpider):
TERRITORY_ID = "2803708"
name = "se_macambira"
url_uf = "se"
url_city = "macambira"
start_date = date(2019, 1, 22)
11 changes: 11 additions & 0 deletions data_collection/gazette/spiders/se/se_maruim.py
Copy link
Contributor

@jreagle jreagle Nov 15, 2024

Choose a reason for hiding this comment

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

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

Adiciona raspador de município replicado SE_MARUIM (2804003) a partir do padrão BaseMunicipioOnlineSpider (#1095)

Achados de Revisão/Testes

O start_date desse SPIDER_DERIVADO é 2023-01-02 enquanto no site das publicações existem edições a partir de 2022-03-04 (01/2022), o que fez com que os resultados do primeiro teste de coleta "FULL" tivesse como edição mais antiga a 167/2023 compatível com start_date originalmente setado. Nesse caso, a checagem das edições não apontou nenhuma falta na range de edições do período!

Resolvi fazer um novo teste "FULL" setando o start_date para aquele compatível com o site das publicações e pra minha surpresa o resultado da coleta foi numa quantidade um pouco menor do que anterior, começando pela edição 206/2023. A checagem das edições apresentou o mesmo comportamento do teste anterior sem perdas de edições, considerando o range entre as edição menor e a maior, o que revela a estabilidade sequencial das edições.

Agora porque o servidor das publicações OMITIU as edições de 1/2022 a 205/2023 nas requisições do SPIDER_BASE, eu não consegui descobrir! No primeiro test "FULL" os LOGs de execução do SPIDER_BASE não apresentaram ERROS, já no RE-TEST apareceram 2x ERROS na execução do teste "FULL', na verdade apenas 1x HTTP 500 e o desdobramento no SPIDERMON. Mas não considerei relevante considerando a quantidade de requisições e o fato de que não ajuda esclarecer a falta das edições na coleta. Além disso, a DocString do SPIDER_BASE apresenta um alerta sobre um comportamento similar (HTTP 500) do servidor para requisições de grandes períodos.

Portanto, fora a questão do start_date acabei chegando a mesma conclusão dos spiders anteriores de que isso é um problema fora do escopo desse SPIDER_REPLICADO já que os LOGs não apresentaram falhas específicas de download que possam ser relacionadas as essas edições.

Naquilo que ele conseguiu coletar, o comportamento da execução do SPIDER_REPLICADO me pareceu adequado.

Log Files (Tests)

se_maruim_full_2024-11-12.csv
se_maruim_full_2024-11-12.log
se_maruim_last_2024-11-12.csv
se_maruim_last_2024-11-12.log
se_maruim_between_2023-01-02_2023-02-01.csv
se_maruim_between_2023-01-02_2023-02-01.log

se_maruim_full_2024-11-14_2022-03-04_.log
se_maruim_full_2024-11-14_2022-03-04_.csv

Log Summary (Tests)

================================
 RESULT iCAL => MOL (se_maruim)
================================
URL: https://www.municipioonline.com.br/se/prefeitura/maruim/cidadao/diariooficial
Site | Editions: 547
Site | Start_Date: 2022-03-04 <=> 2023-01-02 [Spider] = FALSE ⛔
Site | End_Date: 2024-11-12
Duration: 00:00:04 (iCAL)
==================================================
RESULT TEST => LAST_2024-11-12 (se_maruim)
==================================================
params => ['-a', 'start_date=2024-11-12']
 'item_scraped_count': 1,
 'log_count/DEBUG': 6,
 'log_count/INFO': 34,
Duration: 00:00:12 (LAST)
==================================================
RESULT TEST => BETWEEN_2023-01-02_2023-02-01 (se_maruim)
==================================================
params => ['-a', 'start_date=2023-01-02', '-a', 'end_date=2023-02-01']
 'item_scraped_count': 24,
 'log_count/DEBUG': 75,
 'log_count/INFO': 35,
Duration: 00:01:52 (BETWEEN)
==================================================
RESULT TEST => FULL_2024-11-12 (se_maruim)
==================================================
params => []
 'item_scraped_count': 381,
 'log_count/DEBUG': 1161,
 'log_count/INFO': 65,
 'log_count/WARNING': 39,
Duration: 00:31:12 (FULL)
Duration: 00:33:17 (ALL COLLECTS)
====================
 SUM UP (se_maruim)
====================
Collected Editions (BETWEEN) => 24
Collected Editions (FULL) => 381
Missed Editions => (0) []
First/End Editions => 167/547 (381)  => If complete range!
Duration: 00:00:00 (Check CSV/FULL)

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datetime import date

from gazette.spiders.base.municipioonline import BaseMunicipioOnlineSpider


class SeMaruimSpider(BaseMunicipioOnlineSpider):
TERRITORY_ID = "2804003"
name = "se_maruim"
url_uf = "se"
url_city = "maruim"
start_date = date(2023, 1, 2)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
start_date = date(2023, 1, 2)
start_date = date(2022, 3, 4)

11 changes: 11 additions & 0 deletions data_collection/gazette/spiders/se/se_pedrinhas.py
Copy link
Contributor

Choose a reason for hiding this comment

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

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

Adiciona raspador de município replicado SE_PEDRINHAS (2805109) a partir do padrão BaseMunicipioOnlineSpider (#1095)

Achados de Revisão

Por algum motivo que não consegui descobrir o SPIDER_BASE não conseguiu coletar 448x edições, apesar delas estarem disponíveis no site normalmente.

Os LOGs de execução do SPIDER_BASE apresentaram apenas 3x ERROS na execução do teste "FULL', na verdade apenas 2x HTTP 500 e o desdobramento no SPIDERMOON. Mas não considerei relevante considerando a quantidade de requisições e o fato de que não ajuda esclarecer a falta das edições na coleta. Além disso, a DocString do SPIDER_BASE apresenta um alerta sobre um comportamento similar (HTTP 500) do servidor para requisições de grandes períodos.

Portanto, cheguei a conclusão isso é um problema fora do escopo desse SPIDER_REPLICADO já que os LOGs não apresentaram falhas específicas de download que possam ser relacionadas as essas edições.

Naquilo que ele conseguiu coletar, o comportamento da execução do SPIDER_REPLICADO me pareceu adequado.

Log Files (Tests)

se_pedrinhas_full_2024-11-12.csv
se_pedrinhas_full_2024-11-12.log
se_pedrinhas_last_2024-11-11.csv
se_pedrinhas_last_2024-11-11.log
se_pedrinhas_between_2018-02-07_2018-03-09.csv
se_pedrinhas_between_2018-02-07_2018-03-09.log

Log Summary (Tests)

===================================
 RESULT iCAL => MOL (se_pedrinhas)
===================================
URL: https://www.municipioonline.com.br/se/prefeitura/pedrinhas/cidadao/diariooficial
Site | Editions: 744
Site | Start_Date: 2018-02-07 <=> 2018-02-07 [Spider] | TRUE
Site | End_Date: 2024-11-12
Duration: 00:00:05 (iCAL)
==================================================
RESULT TEST => LAST_2024-11-11 (se_pedrinhas)
==================================================
params => ['-a', 'start_date=2024-11-11']
 'item_scraped_count': 1,
 'log_count/DEBUG': 6,
 'log_count/INFO': 34,
 'log_count/WARNING': 2,
Duration: 00:00:48
==================================================
RESULT TEST => BETWEEN_2018-02-07_2018-03-09 (se_pedrinhas)
==================================================
params => ['-a', 'start_date=2018-02-07', '-a', 'end_date=2018-03-09']
 'item_scraped_count': 8,
 'log_count/DEBUG': 27,
 'log_count/INFO': 35,
Duration: 00:01:14
==================================================
RESULT TEST => FULL_2024-11-12 (se_pedrinhas)
==================================================
params => []
 'item_scraped_count': 294,
 'log_count/DEBUG': 900,
 'log_count/ERROR': 3,
 'log_count/INFO': 54,
 'log_count/WARNING': 17,
Duration: 00:16:45 (FULL)
Duration: 00:18:47 (ALL COLLECTS)
=======================
 SUM UP (se_pedrinhas)
=======================
Collected Editions (BETWEEN) => 8
Collected Editions (FULL) => 294
Missed Editions => (448) [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591]
First/End Editions => 1/742 (742) => If complete range!
Duration: 00:00:00 (Check CSV/FULL)

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datetime import date

from gazette.spiders.base.municipioonline import BaseMunicipioOnlineSpider


class SePedrinhasSpider(BaseMunicipioOnlineSpider):
TERRITORY_ID = "2805109"
name = "se_pedrinhas"
url_uf = "se"
url_city = "pedrinhas"
start_date = date(2018, 2, 7)
11 changes: 11 additions & 0 deletions data_collection/gazette/spiders/se/se_propria.py
Copy link
Contributor

Choose a reason for hiding this comment

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

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

Adiciona raspador de município replicado SE_PROPRIA (2805703) a partir do padrão BaseMunicipioOnlineSpider (#1095)

###Achados de Revisão

Por algum motivo que não consegui descobrir o SPIDER_BASE não conseguiu coletar 163x edições, apesar delas estarem disponíveis no site normalmente.

Os LOGs de execução do SPIDER_BASE apresentaram apenas 2x ERROS na execução do teste "FULL', na verdade apenas 1x HTTP 500 e o desdobramento no SPIDERMOON. Mas não considerei relevante considerando a quantidade de requisições e o fato de que não ajuda esclarecer a falta das edições na coleta.

Portanto, cheguei a conclusão isso é um problema fora do escopo desse SPIDER_REPLICADO já que os LOGs não apresentaram falhas específicas de download que possam ser relacionadas as essas edições.

Naquilo que ele conseguiu coletar, o comportamento da execução me pareceu adequado.

Log Files (Tests)

se_propria_full_2024-11-12.log
se_propria_last_2024-11-08.csv
se_propria_last_2024-11-08.log
se_propria_between_2021-02-23_2021-03-25.csv
se_propria_between_2021-02-23_2021-03-25.log
se_propria_full_2024-11-12.csv

Log Summary (Tests)

=================================
 RESULT iCAL => MOL (se_propria)
=================================
URL: https://www.municipioonline.com.br/se/prefeitura/propria/cidadao/diariooficial
Editions: 667
Start_Date: 2021-02-23 <=> 2021-02-23 | TRUE
End_Date: 2024-11-08
Duration: 00:00:42 (iCAL)
==================================================
RESULT TEST => LAST_2024-11-08 (se_propria)
==================================================
params => ['-a', 'start_date=2024-11-08']
 'item_scraped_count': 1,
 'log_count/DEBUG': 6,
 'log_count/INFO': 34,
Duration: 00:00:09 (LAST)
==================================================
RESULT TEST => BETWEEN_2021-02-23_2021-03-25 (se_propria)
==================================================
params => ['-a', 'start_date=2021-02-23', '-a', 'end_date=2021-03-25']
 'item_scraped_count': 14,
 'log_count/DEBUG': 45,
 'log_count/INFO': 34,
Duration: 00:00:55 (BETWEEN)
==================================================
RESULT TEST => FULL_2024-11-12 (se_propria)
==================================================
params => []
 'item_scraped_count': 504,
 'log_count/DEBUG': 1540,
 'log_count/ERROR': 2,
 'log_count/INFO': 74,
 'log_count/WARNING': 38,
Duration: 00:37:20 (FULL)
Duration: 00:38:25 (Collects)
=====================
 SUM UP (se_propria)
=====================
Collected Editions (BETWEEN) => 14
Collected Editions => 504
Missed Editions => (163) [187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349]
First/End Editions => 1/667 (667) => If complete range!
Duration: 00:00:01 (Check CSV/FULL)

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datetime import date

from gazette.spiders.base.municipioonline import BaseMunicipioOnlineSpider


class SePropriaSpider(BaseMunicipioOnlineSpider):
TERRITORY_ID = "2805703"
name = "se_propria"
url_uf = "se"
url_city = "propria"
start_date = date(2021, 2, 23)
11 changes: 11 additions & 0 deletions data_collection/gazette/spiders/se/se_salgado.py
Copy link
Contributor

Choose a reason for hiding this comment

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

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

Adiciona raspador de município replicado SE_SALGADO (2806206) a partir do padrão BaseMunicipioOnlineSpider (#1095)

Achados de Revisão/Testes

Comportamento semelhante ao spider SE_SALGADO (2806206)!

O start_date desse SPIDER_DERIVADO é 2023-01-02 enquanto no site das publicações existem edições a partir de 2022-01-11 (01/2022), o que fez com que os resultados do primeiro teste de coleta "FULL" tivesse como edição mais antiga a 135/2023, compatível com start_date originalmente setado. Nesse caso, a checagem das edições não apontou nenhuma falta na range edições do período!

Resolvi fazer um novo teste "FULL" setando o start_date para aquele compatível com o site das publicações e pra minha surpresa o resultado da coleta foi numa quantidade um pouco menor do que anterior, começando pela edição 139/2023. A checagem das edições apresentou o mesmo comportamento do teste anterior sem perdas de edições, considerando o range entre as edição menor e a maior, o que revela a estabilidade sequencial das edições.

Agora porque o servidor das publicações OMITIU as edições de 1/2022 a 205/2023 nas requisições do SPIDER_BASE, eu não consegui descobrir! No primeiro test "FULL" os LOGs de execução do SPIDER_BASE não apresentaram ERROS, já no RE-TEST apareceram 3x ERROS na execução do teste "FULL', na verdade apenas 2x HTTP 500 e o desdobramento no SPIDERMON. Mas não considerei relevante considerando a quantidade de requisições e o fato de que não ajuda esclarecer a falta das edições na coleta. Além disso, a DocString do SPIDER_BASE apresenta um alerta sobre um comportamento similar (HTTP 500) do servidor para requisições de grandes períodos.

Portanto, fora a questão do start_date acabei chegando a mesma conclusão dos spiders anteriores de que isso é um problema fora do escopo desse SPIDER_REPLICADO já que os LOGs não apresentaram falhas específicas de download que possam ser relacionadas as essas edições.

Naquilo que ele conseguiu coletar, o comportamento da execução do SPIDER_REPLICADO me pareceu adequado.

Log Files (Tests)

se_salgado_between_2023-01-02_2023-02-01.csv
se_salgado_between_2023-01-02_2023-02-01.log
se_salgado_full_2024-11-13.csv
se_salgado_full_2024-11-13.log
se_salgado_last_2024-11-11.csv
se_salgado_last_2024-11-11.log

se_salgado_full_2024-11-14_2022-01-11_.log
se_salgado_full_2024-11-14_2022-01-11_.csv

Log Summary (Tests)

==================================================
RESULT iCAL => MOL (se_salgado)
==================================================
URL: https://www.municipioonline.com.br/se/prefeitura/salgado/cidadao/diariooficial
Site | Editions: 496 | Estimate Duration: 0:41:20
Site | Start_Date: 2022-01-11 <=> 2023-01-02 [Spider] = FALSE ⛔
Site | End_Date: 2024-11-11
Duration: 00:00:03(iCAL)
==================================================
RESULT TEST => LAST_2024-11-11 (se_salgado)
==================================================
params => ['-a', 'start_date=2024-11-11']
 'item_scraped_count': 1,
 'log_count/DEBUG': 6,
 'log_count/INFO': 34,
Duration: 00:00:09 (LAST)
==================================================
RESULT TEST => BETWEEN_2023-01-02_2023-02-01 (se_salgado)
==================================================
params => ['-a', 'start_date=2023-01-02', '-a', 'end_date=2023-02-01']
 'item_scraped_count': 13,
 'log_count/DEBUG': 43,
 'log_count/INFO': 35,
Duration: 00:00:55 (BETWEEN)
==================================================
RESULT TEST => FULL_2024-11-13 (se_salgado)
==================================================
params => []
 'item_scraped_count': 203,
 'log_count/DEBUG': 619,
 'log_count/ERROR': 2,
 'log_count/INFO': 50,
 'log_count/WARNING': 19,
 Duration: 00:37:20 (FULL)
 Duration: 00:39:41 (ALL COLLECTS)
=====================
 SUM UP (se_salgado)
=====================
Collected Editions => 203
Missed Editions => (0) []
First/End Editions => 135/337 (203) => If complete range!
Duration: 00:00:00 (Check CSV/FULL)

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datetime import date

from gazette.spiders.base.municipioonline import BaseMunicipioOnlineSpider


class SeSalgadoSpider(BaseMunicipioOnlineSpider):
TERRITORY_ID = "2806206"
name = "se_salgado"
url_uf = "se"
url_city = "salgado"
start_date = date(2023, 1, 2)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
start_date = date(2023, 1, 2)
start_date = date(2022, 1, 11)

Loading