繁体   English   中英

Jsoup在块上获取数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM