我正在尝试提取td名称和span类。 在示例代码中,我想在第一个td“附件”中提取a href,在第二个td中提取span标记。
我想要打印 鼠标,存在,是的 KeyBoard,没有 双显示器,存在,是
当我使用下面的Java代码时,我明白了 鼠标是的 键盘号 双显示器是。
如何获取span类名?
HTML代码
<tr>
<td class="" width="1%" style="padding:0px;">
</td>
<td class="">
<a href="/accessory">Mouse</a>
</td>
<td class="tright ">
<span class='is_present'>Yes</span><br/>
</td>
<td class="tright ">
<br/>
</td>
<tr>
<td class="" width="1%" style="padding:0px;">
</td>
<td class="">
<a href="/accessory"> KeyBoard</a>
</td>
<td colspan="2" class="" style='text-align:center;'>
<small>No</small>
</td>
<td class="" width="1%" style="padding:0px;">
</td>
<td class="">
<a href="/accessory">Dual-Monitor</a>
</td>
<td class="tright ">
<span class='is_present'>Yes</span><br/>
</td>
<td class="tright ">
<br/>
</td>
Java代码
private void printParse(String HTMLdata){
Element table = data.select("table[class="computer_table").first();
Iterator<Element> ite = table.select("td").iterator();
while(ite.hasnext()){
sysout(ite.next().text());
}
}
答案 0 :(得分:1)
如果你得到了table元素,那么你所需要的就是获得跨度。你不需要得到td因为你可以使用span查询并仍然得到相同的结果。下面是代码片段。
Elements span = table.select("span");
for (Element src : span) {
if (src.tagName().equals("span"))
System.out.print( src.attr("class") );
}
但要确保你有表格元素。
答案 1 :(得分:0)
Element table = doc.select("table[id=computer_table]").first();
元素结果= table.select(“td”);
for (Element dl : results) {
if(!dl.text().equals("") && dl.text().length() > 1)
pNames.add(dl.text());
if((!dl.select("small").text().equals("")) && dl.select("small").text().length() > 1)
emails.add((dl.select("small").text()));
if(!dl.select("span").attr("class").equals("") && dl.select("span").attr("class").length() > 1)
moneyDollars.add(dl.select("span").attr("class"));
}