TRATAR HTML
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?
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?
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.
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.
Então, não entendo bem... Mas dá para extrair?
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
}
}
{
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
}
}
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.
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.
<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.
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.
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.
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
Apenas esses dados ai mesmo.
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.
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.
ALTAIR tudo bem,
Acho que este exemplo vai te ajudar com seu projeto
Abraços
Acho que este exemplo vai te ajudar com seu projeto
Abraços
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!!
Tópico encerrado , respostas não são mais permitidas