Capturar dados de uma table em arquivo html

1 resposta
T

Meus caros,

Estou fazendo uma aplicação em java para extrair os dados de uma tabela existente em arquivo html, baixado de um sistema web, para gravar em um banco de dados. Estou usando a biblioteca Jsoup, mas não estou conseguindo mapear as tags corretamente para extrair os campos da table.

Meu código:

import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class TesteJsoup1 {

	public static void main(String[] args) {
		
		File file = new File("D:/arquivo.html");

		Document doc;
		try {
			doc = Jsoup.parse(file,"UTF-8");
		
			Elements table = doc.getElementsByTag("TABLE");
			
			int count = 0;
			count = table.size();
			
			if (count > 0) {
				System.out.println("Elemento encontrado: "+count);
				System.out.println(table);
				
				
			} else
				System.out.println("Nenhum Elemento encontrado!");
		   
			   
				   
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
				
	}
}

Segue trecho do código que contém os dados que preciso extrair:

<CENTER><TABLE width='95%' class='table_listagem'>
<TR>
	<td class='td_titulo_tabela' colspan='15'>SOLICITA&Ccedil;&Otilde;ES RETORNADAS (7003)</TD>
</TR>
<TR style='border: 1px solid #000000;' align='center'>
	<TD onMouseDown="javascript:ordena('1');" style="cursor: pointer;" class="td_titulo_campo" >Codigo</TD>
	<TD onMouseDown="javascript:ordena('2');" style="cursor: pointer;" class="td_titulo_campo_selecionado" >Data da Solicitacao</TD>
	<TD onMouseDown="javascript:ordena('3');" style="cursor: pointer;" class="td_titulo_campo" >Risco</TD>
	<TD onMouseDown="javascript:ordena('4');" style="cursor: pointer;" class="td_titulo_campo" >Paciente</TD>
	<TD class="td_titulo_campo" width="80" >Telefone</TD>
	<TD onMouseDown="javascript:ordena('11');" style="cursor: pointer;" class="td_titulo_campo" >Municipio</TD>
	<TD onMouseDown="javascript:ordena('5');" style="cursor: pointer;" class="td_titulo_campo" >Idade Paciente</TD>
	<TD onMouseDown="javascript:ordena('6');" style="cursor: pointer;" class="td_titulo_campo" >Procedimento</TD>
	<TD onMouseDown="javascript:ordena('7');" style="cursor: pointer;" class="td_titulo_campo" >CID</TD>
	<TD onMouseDown="javascript:ordena('8');" style="cursor: pointer;" class="td_titulo_campo" >Unidade Solicitante</TD>
	<TD onMouseDown="javascript:ordena('9');" style="cursor: pointer;" class="td_titulo_campo" >Unidade Executante</TD>
	<TD onMouseDown="javascript:ordena('12');" style="cursor: pointer;" class="td_titulo_campo" >Data Execucao</TD>
	<TD onMouseDown="javascript:ordena('10');" style="cursor: pointer;" class="td_titulo_campo" >Situacao</TD>
</TR>
<TR onClick="visualizaFicha(110837814);" class="par_tr linha_selecionavel">
	<TD align="center">110837814</TD>
	<TD align="center">04/08/2014</TD>
	<TD align="center" title="1" ><img src=/imagens/amarelo.png></TD>
	<TD align="left" title="N&uacute;mero CNS: 700001052622436 
Nome Paciente: FULANA RIBEIRO DE TAL
Nome da Mae: MARIA RIBEIRO DE TAL 
Data Nascimento: 19/06/1975 
" >FULANA RIBEIRO DE TAL</TD>
  	<TD align="center">([telefone removido]</TD>
  	<TD align="left">RECIFE</TD>
 	<TD align="center">43 anos</TD>
  	<TD align="left">EXAME ULTRASSOM MAMA                     </TD>
 	<TD align="center" title="Z72">Z72</TD>
  	<TD align="left">PSF SANTANA</TD>
  	<TD align="left">UNIDADE PUBLICA DE ATENDIMENTO ESPECIALIZADO</TD>
  	<TD align="center">06/09/2016</TD>
  	<TD align="left">SOL/AUT/REG</TD>
  </TR>
<TR onClick="visualizaFicha(118713557);" class="impar_tr linha_selecionavel">
	<TD align="center">118713557</TD>
	<TD align="center">30/10/2014</TD>
	<TD align="center" title="3" ><img src=/imagens/azul.png></TD>
	<TD align="left" title="N&uacute;mero CNS: 802562142491899 
Nome Paciente: LUANA MARIA DA SILVA 
Nome da M&atilde;e: AMANDA SANTANA DA SILVA 
Data Nascimento: 25/07/1958 
" >LUANA MARIA DA SILVA</TD>
  	<TD align="center">---</TD>
  	<TD align="left">RECIFE</TD>
 	<TD align="center">58 anos</TD>
  	<TD align="left">CONSULTA CIRURGIA VASCULAR</TD>
 	<TD align="center" title="Z279">Z279</TD>
  	<TD align="left">PSF CAMPO LINDO</TD>
  	<TD align="left">CENTRO MEDICO SEN JOSE ERMIRIO DE MORAES</TD>
  	<TD align="center">30/08/2016</TD>
  	<TD align="left">SOL/AUT/REG</TD>
  </TR>

1 Resposta

peczenyj

E o que acontece quando vc executa esse código?

Criado 28 de agosto de 2016
Ultima resposta 30 de ago. de 2016
Respostas 1
Participantes 2