querido-diario icon indicating copy to clipboard operation
querido-diario copied to clipboard

Timon-MA

Open ogecece opened this issue 1 year ago • 9 comments

URL da forma de consulta

https://timon.ma.gov.br/semgov/diario/listagem.php?pagina=0

Período de publicação

20/03/2013 - atualmente

Formato da publicação

Os diários oficiais são publicados em PDF (texto)

Conteúdo da publicação

Diário único: documento publicado é uma edição completa do diário oficial

Algumas datas contém edições suplementares.

Detalhes do site de publicação

Site funciona como uma paginação simples (até um pouco demais pois é possível ver todas as páginas disponíveis).

Fazendo requisição GET para https://timon.ma.gov.br/semgov/diario/pesquisaP.php?editData_inicio=20/03/2013&editData_fim=12/06/2023&inputDiario=&pagina=1 (modificando as datas) é possível filtrar por data e o resultado é a mesma lista paginada que temos no listagem.php.

Observações

Talvez o link do arquivo baixado seja gerado dinamicamente e não fique disponível depois: teste

Não existe uma issue aberta para esse município

  • [X] Eu verifiquei que não existe uma issue aberta ou marcada com incompatible para o mesmo município.

ogecece avatar Jun 12 '23 19:06 ogecece

Pegando esse

peddrogomes avatar Jun 14 '23 22:06 peddrogomes

[Dicas para quem futuramente possa assumir]

Os diários agora estão localizados em https://timon.ma.gov.br/diario/

Verificando o novo site vi que se você mandar um POST para https://timon.ma.gov.br/diario/pesquisa_numerodiario.php com o parâmetro de inputDiario: "1" você consegue uma pagina com a lista de todos os diários disponíveis.

Acredito que isso possa facilitar adaptação do código ao novo site

Winzen avatar Sep 05 '23 23:09 Winzen

Irei atuar durante a hackoberfest 2023

engFelipeMonteiro avatar Oct 07 '23 20:10 engFelipeMonteiro

[Dicas para quem futuramente possa assumir]

Os diários agora estão localizados em https://timon.ma.gov.br/diario/

Verificando o novo site vi que se você mandar um POST para https://timon.ma.gov.br/diario/pesquisa_numerodiario.php com o parâmetro de inputDiario: "1" você consegue uma pagina com a lista de todos os diários disponíveis.

Acredito que isso possa facilitar adaptação do código ao novo site

Náo consegui replicar o 'inputDiario=1',

verificado que o novo site possui 3 modos de pesquisa, por data, por palavra e por numero do diario.

Por data (todos)


curl 'https://timon.ma.gov.br/diario/pesquisa.php' \
   -H 'content-type: application/x-www-form-urlencoded' \
 --data-raw 'TipoDiario_datas=Todos&editData_inicio=01%2F01%2F2000&editData_fim=31%2F12%2F2023' \
  --compressed

Por data executivo?

curl 'https://timon.ma.gov.br/diario/pesquisa.php' \
  -H 'content-type: application/x-www-form-urlencoded' \
	  --data-raw 'TipoDiario_datas=Executivo&editData_inicio=01%2F01%2F2000&editData_fim=31%2F12%2F2023' \
  --compressed

Por data Legislativo:

url 'https://timon.ma.gov.br/diario/pesquisa.php' \
 -H 'content-type: application/x-www-form-urlencoded' \
 --data-raw 'TipoDiario_datas=Legislativo&editData_inicio=01%2F01%2F2000&editData_fim=31%2F12%2F2023' \
  --compressed

Pro palavra:

curl 'https://timon.ma.gov.br/diario/pesquisa_palavra.php' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-raw 'TipoDiario_palavra=Todos&inputPalavra=' \
  --compressed

Por diario:

curl 'https://timon.ma.gov.br/diario/pesquisa_numerodiario.php' \
  -H 'content-type: application/x-www-form-urlencoded' \
  --data-raw 'TipoDiario_numero=Todos&inputDiario=10' \
  --compressed

A requisição post retorna a pagina html com os links dos documentos em (/html/body/div/header/div[2]/header/div/div[1]/header/div[2]/div/div/table/tbody/tr[1]/td[6]/a[1]).

engFelipeMonteiro avatar Oct 16 '23 11:10 engFelipeMonteiro

Os diarios estão sendo mostrados de forma continua desde 20/03/2013(start date). Porém ha alguns(4) anteriores a isso, de forma esparsa

engFelipeMonteiro avatar Oct 16 '23 11:10 engFelipeMonteiro

finalizado de desenvolver o crawler e após executar ele inteiro parece que trouxe todos os pdfs, realizei algumas verificações

segue o fim do log de execução, parece que deu 1 erro:

2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] ------------------------------ MONITORS ------------------------------
2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] Comparison Between Executions/Days without gazettes... OK
2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] Requests/Items Ratio/Ratio of requests over items scraped count... OK
2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] Error Count Monitor/test_stat_monitor... SKIPPED (Unable to find 'log_count/ERROR' in job stats.)
2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] Finish Reason Monitor/Should have the expected finished reason(s)... OK
2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] Item Validation Monitor/test_stat_monitor... FAIL
2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] ----------------------------------------------------------------------
2023-10-17 23:24:15 [ma_timon] ERROR: [Spidermon] 
======================================================================
FAIL: Item Validation Monitor/test_stat_monitor
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/felipemonteirojacome/workspace/querido-diario/venv/lib/python3.9/site-packages/spidermon/contrib/scrapy/monitors.py", line 144, in test_stat_monitor
    assertion_method(
AssertionError: Expecting 'spidermon/validation/fields/errors' to be '

pendente realizar testes com start_date e end_date

scrapy crawl  -a start_date=
scrapy crawl  -a end_date=

possivelmente rodar com o log:

scrapy crawl  -s LOG_FILE=log_.txt

engFelipeMonteiro avatar Oct 18 '23 10:10 engFelipeMonteiro

ja fiz o push pra minha branch

engFelipeMonteiro avatar Oct 18 '23 11:10 engFelipeMonteiro

Identificado que o arquivo referente ao arquivo do dia 12/05/2021 não foi encontrado, edição suplementar. Reportado na pagina sobre o problema

engFelipeMonteiro avatar Oct 28 '23 17:10 engFelipeMonteiro

finalizado de desenvolver o crawler e após executar ele inteiro parece que trouxe todos os pdfs, realizei algumas verificações

segue o fim do log de execução, parece que deu 1 erro:

Traceback (most recent call last): File "/Users/felipemonteirojacome/workspace/querido-diario/venv/lib/python3.9/site-packages/spidermon/contrib/scrapy/monitors.py", line 144, in test_stat_monitor assertion_method( AssertionError: Expecting 'spidermon/validation/fields/errors' to be '<=' to '0'. Current value: '1'

2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] 5 monitors in 0.011s 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] FAILED (failures=1, skipped=1) 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] -------------------------- FINISHED ACTIONS -------------------------- 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] ---------------------------------------------------------------------- 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] 0 actions in 0.000s 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] OK 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] --------------------------- PASSED ACTIONS --------------------------- 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] ---------------------------------------------------------------------- 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] 0 actions in 0.000s 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] OK 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] --------------------------- FAILED ACTIONS --------------------------- 2023-10-17 23:24:15 [spidermon.contrib.actions.discord] INFO: ma_timon finished

  • Finish time: 2023-10-18 02:24:15.629638
  • Gazettes scraped: 3186
  • 🔥 1 failures 🔥 ===== FAILURES ===== Item Validation Monitor/test_stat_monitor: Expecting 'spidermon/validation/fields/errors' to be '<=' to '0'. Current value: '1' 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] CustomSendDiscordMessage... OK 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] ---------------------------------------------------------------------- 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] 1 action in 0.000s 2023-10-17 23:24:15 [ma_timon] INFO: [Spidermon] OK

pendente realizar testes com start_date e end_date

scrapy crawl -a start_date= scrapy crawl -a end_date= possivelmente rodar com o log:

scrapy crawl -s LOG_FILE=log_.txt

Oi @engFelipeMonteiro, conseguiu identificar a razão desse erro? Está acontecendo comigo também.

Abraços.

talesmota avatar May 09 '24 16:05 talesmota