TRATAR HTML

ALTAIR148 07/12/2012 14:14:56
#415620
Boa tarde,

Pessoal, estou extraindo dados de uma página via webbrowser e tem uma parte aqui que fiquei travado sem saber o que fazer, nesse endereço tem um exemplo de uma página. O que eu preciso é extrair as movimentações que tem nessa pagina, eu preciso apenas das movimentações, só que por exemplo preciso extrair elas separadas:

Ex:
[ô]Esse trecho abaixo ficaria em uma linha

Tipo do Movimento: Juntada - Petição
Data da juntada: 28/11/2012
Número do Documento: 201206040742 - Proger Comarca da Capital


[ô]Esse outro aqui ficaria em outra linha.... e por ai vai
Tipo do Movimento: Juntada - Petição
Data da juntada: 21/11/2012
Número do Documento: 201205790638 - Proger Comarca da Capital

Alguém tem alguma ideia de como fazer isso?
KERPLUNK 07/12/2012 15:00:02
#415622
Veja o código fonte. Aquelas coisas, são linhas de uma tabela, cuja classe usada em cada linha é [Ô]tipoMovimento[Ô].

Nota: Existe um campo escondido com o parecer do juíz, que no caso acho que é flamenguista:
Em 08/10/2012, às 13:40 horas , na Sala das Audiências do JUIZADO ESPECIAL CÍVEL DE CACHOEIRA DE MACACU, perante o Juiz André Luiz Nicolitt, aberta a audiência, feito o pregão, compareceram as partes acima mencionadas, acompanhadas por seus respectivos patronos. Proposta a conciliação, a mesma não foi aceita. O réu apresentou contestação sob a forma escrita. Pelo Juiz foi, então, prolatada a seguinte SENTENÇA: Dispenso relatório na forma da lei. Passo a decidir: O autor adquiriu os serviços da ré com o intuito de assistir o campeonato brasileiro. No entanto, a ré interrompeu o serviço ao argumento de que faltava enviar alguns documentos. Segundo a ré os documentos não foram enviados. Ocorre que o autor prova o envio do fax, bem como junta email da ré agradecendo o envio. Evidente a falha do serviço da ré. O dano moral reside no fato de que o autor teve suas expectativas frustradas, perdeu tempo e se indgnou. [txt-color=#e80000]é bem verdade que sua pretensão seria assistir os jogos do vaco da gama, o que de certa forma atenua a proporção do dano, pois não é possível comparar a frustração de não poder ver um jogo de times que já frequentaram a segunda ou terceira divisão com aqueles que nunca estiveram nestes submundos. Desta forma, o dano moral deve levar em consideração tais fatos. Exemplificando, se fosse o fluminense, por ter jogado a terceira, valor ínfimo, o vasco e botafogo, por terem jogado a segundona, um pouco maior, já o glorioso clube regatas do flamengo, que jamais frequentou ou frequentará tais submundos, o dano seria expressivo.[/txt-color] No caso do autor, por estar até a presente sem o serviço, entendo razoável a quantia 2000,00 (dois mil reais). Isto posto, JULGO PROCEDENTE EM PARTE O PEDIDO e condeno o (a) réu (ré) a pagar ao (a) autor (autora), a título de dano moral, a quantia de R$ 2000,00 (dois mil reais) corrigidos e acrescidos de juros desta até o efetivo pagamento. Julgo extinto o pedido de restabelecimento do serviço, ex vi, art. 267, VIII do CPC. Fica intimado o réu para o cumprimento espontâneo sob pena da multa prevista no artigo 475 J do CPC.
ALTAIR148 07/12/2012 15:05:06
#415624
Então, não entendo bem... Mas dá para extrair?
KERPLUNK 07/12/2012 16:41:50
#415629
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElementCollection html = webBrowser1.Document.All;
foreach (HtmlElement item in html)
{
var x = item.DomElement.GetType();
//a partir daqui veja as variáveis X e item
}
}
EDULOCO 08/12/2012 10:02:49
#415645
Altair você escolheu um fonte muito chato de tratar rsrsrs, mexo bastante com Perl e geralmente consigo facil tratar webpages e txt[ô]s, porém esse ai tá complicado cara, já que nem todos os [Ô]tipos de movimento[Ô] tem a mesma sequencia no código e a table dificulta um pouco.


<tr class=[ô]tipoMovimento[ô]>
<td valign=top nowrap class=[ô]negrito[ô]>Tipo do Movimento:</td>
<td valign=top align=justify class=[ô]normal[ô]>Recebimento</td>
</tr><tr>
<td valign=top nowrap class=[ô]negrito[ô]>Data de Recebimento:</td>
<td valign=top align=justify class=[ô]normal[ô]>14/11/2012</td>
</tr><tr><td colspan=2> </td></tr><tr class=[ô]tipoMovimento[ô]>
<td valign=top nowrap class=[ô]negrito[ô]>Tipo do Movimento:</td>
<td valign=top align=justify class=[ô]normal[ô]>Assinatura</td>
</tr><tr>


Eu vou tentar tratar aqui com o Perl ( não sei se vou conseguir algo ) a idéia não é o Perl mas vai te dar uma base de como tratar com o VB.NET, de quais linhas jogar no seu código, se alguém conseguir antes em VB.NET é melhor, eu nem vou tentar em VB porque não tenho muita pratica ainda e não sei usar o sistema de pegar paginas, vamos ver o que dá para fazer aqui.
SINCLAIR 08/12/2012 11:27:26
#415647
Altarir,

Eu fiz exatamente isto que você busca. Meus clientes são advogados e busco a movimentação dos processos e já lanço na agenda dos mesmos, para não perderem prazo.

Maior vantagem ainda é que puderam cancelar a assinatura de Publicações OnLine e Nota Certa.

Ainda tem outra vantagem de receberem a informação antes mesmo de ser oficializado no DOU ou no DOE.

Levei 1 ano para fazer para os 26 estados, mais Justiça Federal 4a. Região, mais Tribunal Regional do Trabalho 4a. Região e 12a. Região.

E ainda tive que fazer na Justiça Militar também.

Só isto levei 1 ano e meio.

A parte administrativa (contas, contratos, etc) foi a mais fácil.

Esta foi a mais difícil mesmo, muito trabalhosa. Quase desisiti no meio do caminho ou antes do meio do caminho... extremamente estressante, colega!!!

E quando mudam o layout da página, tem que mudar tudo no sistema. Um estresse.

Mas vai lá, vai com fé que dá certo.
EDULOCO 08/12/2012 12:09:59
#415648
Altair uma pergunta aqui talvez desnecessária, nesse exemplo que você deu no tópico, vai precisar apenas desses dados ou de outros também? :s
ALTAIR148 08/12/2012 13:09:56
#415651
Apenas esses dados ai mesmo.
EDULOCO 10/12/2012 11:56:17
#415719
Altair em Perl fiz da seguinte maneira para tratar a pagina :

Pastebin

o Resultado final foi esse :

Tipo de movimento: Juntada - Petição
Data da Juntada: 28/11/2012
Numero do documento: 201206040742 - Proger Comarca da Capital

Tipo de movimento: Juntada - Petição
Data da Juntada: 21/11/2012
Numero do documento: 201205790638 - Proger Comarca da Capital

Tipo de movimento: Juntada - Petição
Data da Juntada: 31/10/2012
Numero do documento: 201205732822 - Proger Comarca de Cachoeiras de Macacu

O único problema que encontrei e não consegui resolver de maneira nenhuma até o momento é de quando não encontra o número do documento, exemplo na pagina que você passou, existem 4 [Ô]Data de Juntadas[Ô] mas apenas 3 contém [Ô]Número de documento[Ô] então esse resultado sem o número não é jogado, a linha do while() vai te mostrar como eu fiz para tratar a linha, desculpa ter posto tudo junto rsrs mas é que não tinha outro modo, apesar de Perl ignorar espaços eu coloquei tudo em oneline, em VB.NET não sei como colocar o código la, porém você que entende mais de VB.NET vai conseguir adaptar mais rapido o código que se refere a tratar o texto.
PEGUDO 10/12/2012 12:19:37
#415721
Resposta escolhida
ALTAIR tudo bem,
Acho que este exemplo vai te ajudar com seu projeto

Abraços
EDULOCO 10/12/2012 12:38:21
#415723
Eita Pegudo tu manja muito em questão de pegar dados web com VB.NET, ja me ajudou em um outro tópico a pegar informações de uma pagina também, e sempre faz os exemplos explicando tudo certinho *-* bom trabalho cara!!
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas