[英]Jsoup to get data on <b> block
我是Java上的JSoup的新手,并且想询问几个问题。 给定页面的HTML代码,我想得到的是
<td width="70%" class="row1">
<b>4</b>
<br />( 0 posts per day / 0.00% of total forum posts )
</td>
我的问题是我想获取数据4,但我得到的输出是4(每天0个帖子/论坛总帖子的0.00%)
这是我的Java代码
Iterator <Element> element = totalPost.select("td[width=70%][class=row1]").iterator();
System.out.println(element.next().text());
抱歉,如果我的问题不够清楚。
如果在添加<table>
标记后没有<table>
,这确实对我不起作用:
<table>
<td width="70%" class="row1">
<b>4</b>
<br />( 0 posts per day / 0.00% of total forum posts )
</td>
</table>
您可以尝试通过添加打印元素或整个文档来检查HTML是否被正确解析:
System.out.println("totalPost:" + totalPost.html());
System.out.println("doc:" + doc.html());
这是一个例子:
final String html = "<td width=\"70%\" class=\"row1\">\n"
+ "<b>4</b>\n"
+ "<br />( 0 posts per day / 0.00% of total forum posts )\n"
+ "</td>";
Document doc = Parser.xmlParser().parseInput(html, ""); // Alternative: Jsoup.parse(...) or connect to a website
Element bTag = doc.select("td > b").first();
System.out.println(bTag.text());
这将打印4
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.