mmayer :
다음 주소에서 값을 얻으려고 노력 메신저 http://www.dolarhoy.com/를 다음 코드를 사용하여 :
try {
URL urlPagina = new URL(url);
URLConnection urlConexion = urlPagina.openConnection();
urlConexion.connect();
// Creamos el objeto con el que vamos a leer
BufferedReader lector = new BufferedReader(new InputStreamReader(
urlConexion.getInputStream(), "UTF-8"));
String linea = "";
String contenido = "";
while ((linea = lector.readLine()) != null) {
resultado.append(String.valueOf(linea));
resultado.append("\n");
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Contenido : \n\n" + resultado.toString());
return resultado.toString();
}
나는 SOMER 다른 코드 사이에이를 얻을 :
<td width='113' height='25'>
<div align='center'>
<font face='Verdana, Arial, Helvetica, sans-serif' color='#00ff00' size='2'>ACTUALIZADO</font>
</div>
</td>
<td width='179' height='25'>
<div align='center'>
<font face='Verdana, Arial, Helvetica, sans-serif' color='#00ff00' size='2'><b>7/08/2018
14:53 AR</b></font>
</div>
</td>
<td width='82' height='25'>
<div align='center'>
<font face='Verdana, Arial, Helvetica, sans-serif' color='#00ff00' size='2'>COMPRA</font>
</div>
</td>
<td width='110' height='25'>
<div align='center'>
<font face='Verdana, Arial, Helvetica, sans-serif' color='#000000' size='2'><b><font face='Courier New, Courier, mono' color='#FFCC00' size='4'>$
26.93</font></b></font>
</div>
</td>
<td width='85' height='25'>
<div align='center'>
<font face='Verdana, Arial, Helvetica, sans-serif' color='#00ff00' size='2'>VENTA</font>
</div>
</td>
<td width='110' height='25'>
<div align='center'>
<font face='Verdana, Arial, Helvetica, sans-serif' color='#000000' size='2'><b><font face='Courier New, Courier, mono' color='#FFCC00' size='4'>$
27.93</font></b></font>
</div>
</td>
하지만 난 HTML 테이블 ID가없는 것을 알 수있다.
내가 받아야하는 값은 이미지를 강조 하나입니다.
나는 HTML 코드 "27.93"의 위에 표시된 값이 필요합니다. (필자는 태그 사이의 내용이 필요하므로이 값에 따라 다름)
나는 어떤 도움 / 솔루션을 주셔서 감사합니다. 감사!
닫기 :
당신이 이런 식으로 뭔가를 할 수 jsoup 의사 선택기를 사용하여 :
Document doc = Jsoup.connect("http://www.dolarhoy.com/").get();
//select div element that contains specific text and is direct descenant of body
Element title = doc.select("body > div:contains(PROMEDIO DE COTIZACIONES DE PIZARRAS AL PÚBLICO RELEVADAS POR)").first();
//select next sibling element with summary
Element summary = title.nextElementSibling();
//select last cell with data needed
String amount = summary.select("td").last().text();
System.out.println(amount);
//same as above - one-liner
System.out.println(doc.select("body > div:contains(PROMEDIO DE COTIZACIONES DE PIZARRAS AL PÚBLICO RELEVADAS POR) + div td:last-child").text());
자세한 내용은 여기를 찾을 수 있습니다 https://jsoup.org/cookbook/extracting-data/selector-syntax