querido-diario
querido-diario copied to clipboard
Timon-MA
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.
Pegando esse
[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
Irei atuar durante a hackoberfest 2023
[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 deinputDiario: "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]).
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
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
ja fiz o push pra minha branch
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
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.