由于我不想讨论这个问题的原因,我有一个 Java 类,可以发布 HTML 表单并读取响应。
我收到的回复的一小段是:
<div class="main_box">
<table width="100%" border="0" cellspacing="4" cellpadding="4" class='results'>
<tr>
<td colspan="3" class="title">Free Car ID Check Results</td>
</tr>
<tr>
<td class='title' width='34%'>Vehicle Registration Number</td>
<td width="43%">ABC123</td>
<td width="23%" rowspan="4" valign="top"><p align="center"><img src="/media/FORD.jpg" alt="FORD" /></p>
<p> </p></td>
</tr>
<tr>
<td class='title'>Make</td>
<td>FORD</td>
</tr>
<tr>
<td class='title'>Model</td>
<td>ESCORT</td>
</tr>
<tr>
<td class='title'>Colour</td>
<td>BLUE</td>
</tr>
</table>
</div>
从中挑选出品牌
、型号
和颜色
的最简单、可靠的方法是什么?这只是我正在读取的输入流的一小部分,我不能保证除此之外的 HTML 元素保持不变,因为网页中的元素可能会改变。
谢谢
最佳答案
使用像 JSoup 这样的 HTML 解析器。它使您可以轻松阅读文档并选择元素。
例如
Document doc = Jsoup.connect("http://url").get();
Elements elements = doc.select("div[class=main_box] td[class=title]");
for (Element anElement : elements) {
// Real treatment here
System.out.print(anElement.text());
System.out.println(": "+anElement.nextElementSibling().text());
}
关于java - 如何在 Java 中剖析 HTML 页面,以挑选出某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9105296/