我想使用jsoup提取td标签中的数据。
在下面的代码中,“BAGALKOT”是该市的名称,“KERUDI HOSPITAL RESEARCH CENTER”是该医院的名称。
同样,城市名称和医院名称在表格结构中多次出现在页面中。我想使用jsoup
提取此数据。
任何人都可以帮我一些java
代码。
<h2>Karnataka Hospitals List</h2>
<tr bgcolor="#E4E4E4" height="40">
<td height="40" align="center" class="whiteheading"><strong>Sl. No</strong></td>
<td align="center" class="whiteheading"><strong class="whiteheading">City</strong></td>
<td align="center" class="whiteheading"><strong>Hospital / Nursing Home</strong></td>
<td align="center" class="whiteheading"><strong>Address</strong></td>
<td align="center" class="whiteheading"><strong>State</strong></td>
</tr>
<tr height="60">
<td width="64" align="left" bgcolor="#FFFFFF">1</td>
<td class="copyrights" width="119" bgcolor="#FFFFFF">BAGALKOT</td>
<td class="copyrights" width="211" bgcolor="#FFFFFF">KERUDI HOSPITAL & RESEARCH CENTRE</td>
<td class="copyrights" bgcolor="#FFFFFF">EXTENSION, HOSPITAL ROAD,BAGALKOT, KARNATAKA-587101.</td>
<td class="copyrights" width="88" bgcolor="#FFFFFF">KARNATAKA</td>
</tr>
答案 0 :(得分:0)
您也可以单独使用CSS
班级名称或标签名称提取数据:
Elements headings = doc.select("td[class=whiteheading]");
Elements data = doc.select("td[class=copyrights]");
for (Element el : headings) {
System.out.print(el.text() + "\t\t\t");
}
System.out.println();
for (Element el : data) {
System.out.print(el.text() + "\t");
}
给出,
Sl. No City Hospital / Nursing Home Address State
BAGALKOT KERUDI HOSPITAL & RESEARCH CENTRE EXTENSION, HOSPITAL ROAD,BAGALKOT, KARNATAKA-587101. KARNATAKA
以上代码将获取标题和数据的所有td
标记值,并将它们放入您的控制台。这是序列号唯一的问题,因为它没有关联CSS
类。因此,另一个选项可以是仅根据标签名称进行选择,然后将其过滤掉:
Elements data = doc.select("td");
for (Element el : data) {
System.out.print(el.text() + "\t");
}