Olá pessoal, a dúvida é a seguinte. Estou montando um Robô de extração de dados de um site, sendo que estes valores ficam dentro de um TD do html que eu recupero, vide código:
JSP:
<tr>
<td class="titulos">Nome:</td>
<td class="textoDescricao">Rodrigo</td>
</tr>
<tr>
<td colspan="2" height="3"></td>
</tr>
<tr>
<td class="titulos">CPF:</td>
<td class="textoDescricao">123456789-00</td>
</tr>
Java:
String urlString = "http://www.teste.com.br/index.php?idUsuario=2";
logger.debug("URL - " + urlString);
InputStream in = null;
OutputStream out = null;
if (!StringUtils.isEmpty(urlString)) {
logger.debug("urlString com server: " + urlString);
// Abre o arquivo para download
Tidy tidy = new Tidy();
URL url = new URL(urlString);
in = url.openStream();
Document html = tidy.parseDOM(in, out);
NodeList listaTds = html.getElementsByTagName("td");
logger.debug("listaTds.getLength(): " + listaTds.getLength());
for (int i = 0; i < listaTds.getLength(); i++) {
DOMElementImpl element = (DOMElementImpl) listaTds.item(i);
String conteudo = element.getAttribute("class");
// Caso o atributo class seja igual a textoDescricao (Identifica
// a TD do valor a ser extraído)
if (StringUtils.equalsIgnoreCase(conteudo, "textoDescricao")) {
logger.debug("Item "
+ i //
+ ": " //
+ (!StringUtils.isEmpty(conteudo) ? conteudo
: "Vazio"));
}
}
}
Como eu faço para recuperar o conteúdo interno do TD?
Já tentei transformar em um Node e pedar a partir do getTextContent() e dá merda por causa do tipo do Elemento (DOMElementImpl).
Aguém tem idéia de como eu recupero o valor das TD’S?
Atenciosamente