-
-
Notifications
You must be signed in to change notification settings - Fork 410
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
[Novo spider base]: diario oficial dos municipios [Piauí] #1272
Comments
Exemplo de requisição para listar os diários de Piripiri-PI no dia 18/09/2024.
Retorno: <script type="text/javascript">parent.NM_apaga_erro()</script><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<BODY class="scGridPage">
<SCRIPT type="text/javascript">
parent.document.getElementById('nmsc_iframe_ConPublicacaoGeral').src = 'ConPublicacaoGeral.php?nmgp_opcao=pesq&script_case_init=8073&script_case_session=7am12sl4hcefgh0kn452ail2v3';
</SCRIPT>
</BODY>
</HTML> Podemos usar uma regex pra extrair o trecho de url Dessa forma, obtemos a URL da página (iframe) contendo a tabela com os diários daquela data. Usamos essa página para fazer uma leitura de quantos registros vieram. Após isso, podemos solicitar um arquivo PDF único para todos os registros retornados.
Retorno: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html DIR='LTR'>
<head>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="/consulta/_lib/prod/third/jquery/js/jquery.js"></script>
<script type="text/javascript" src="/consulta/_lib/prod/third/jquery_plugin/malsup-blockui/jquery.blockUI.js"></script>
<script type="text/javascript">var sc_pathToTB = '/consulta/_lib/prod/third/jquery_plugin/thickbox/';</script>
<script type="text/javascript" src="/consulta/_lib/prod/third/jquery_plugin/thickbox/thickbox-compressed.js"></script>
<link rel="stylesheet" href="/consulta/_lib/prod/third/jquery_plugin/thickbox/thickbox.css" type="text/css" media="screen" />
<link rel="stylesheet" type="text/css" href="../_lib/css/Tipo2/Tipo2_grid.css" />
<link rel="stylesheet" type="text/css" href="../_lib/css/Tipo2/Tipo2_gridLTR.css" />
</head>
<body class="scGridPage">
<table class="scGridTabela" align="center"><tr><td>
<script>window.open('http://www.diarioficialdosmunicipios.org/intranet/_lib/file/doc/temp/result19092024110941.pdf');</script> <form name="Fredir" method="post"
target="_self">
<input type="hidden" name="nmgp_parms" value=""/>
<input type="hidden" name="nmgp_url_saida" value="/consulta/ConPublicacaoGeral/ConPublicacaoGeral.php">
<input type="hidden" name="script_case_init" value="8073"/>
<input type="hidden" name="script_case_session" value="7am12sl4hcefgh0kn452ail2v3"/>
</form>
<SCRIPT type="text/javascript">
document.Fredir.target = "_self";
document.Fredir.action = "/consulta/ConPublicacaoGeral/ConPublicacaoGeral.php";
document.Fredir.submit();
</SCRIPT> Por fim, com regex conseguiríamos extrair a URL do documento |
Marco esta issue como question pq acho que não temos outro raspador que implemente uma solução pra um caso assim; é também a primeira vez que me deparo com isso. Mas já é bacana saber que já achou um caminho |
@jjpaulo2 sabe dizer como seria o fluxo caso tenhamos paginação no resultado da pesquisa? Dá pra montar um arquivo só apenas ou seria necessário mais de um? Pra mim, está parecendo que usar essa funcionalidade de agrupar em um diário poderia ser mais problema do que solução se a gente não considerar os casos de fronteira como esse. Tendo a pensar que é melhor remodelar o banco pra aceitar esses atos já individualizados na fonte. |
URL
http://www.diarioficialdosmunicipios.org
Municípios replicados
É um site único, mas que pode listar diários de vários municípios do Piauí de acordo com os filtros. 1. http://www.diarioficialdosmunicipios.org/consulta/ConPublicacaoGeral/ConPublicacaoGeral.php
Formato da publicação
Os diários oficiais são publicados em PDF (imagem scanneada)
Detalhes do site de publicação
Possui paginação, Possui filtro por data
Observações
Podem haver vários documentos publicados para um mesmo dia. Mas o próprio sistema tem uma função para selecionar esses documentos e gerar um pdf único.
Não existe uma issue aberta sobre isso
The text was updated successfully, but these errors were encountered: