Jsoup获取<b>块</b>的数据

时间:2013-10-23 14:42:58

标签: java html html-parsing jsoup

我是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());

很抱歉,如果我的问题不够明确。

2 个答案:

答案 0 :(得分:0)

如果在添加<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());

答案 1 :(得分:0)

以下是一个例子:

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