使用JSOUP获取多个类同名

时间:2013-07-24 08:32:51

标签: java html class jsoup

有没有办法从插件JSoup of Java中获取具有相同名称的几个类的HTML?

例如:

<div class="div_idalgo_content_result_date_match_local">
blablabla
</div>

<div class="div_idalgo_content_result_date_match_local">
123456789
</div>

我想在一个字符串中获取blablabla而在另一个字符串中获取123456789。

我希望我的问题可以理解。

1 个答案:

答案 0 :(得分:2)

这可以通过几种不同的方式完成。

如果您想选择上面带有班级名称的div,您只需使用以下内容:

    Elements div = doc.select("div.div_idalgo_content_result_date_match_local");

这将为您提供可以迭代的Element集合。 如果您之后想要只选择第一个,则可以使用:eq(0) - 参数或first() - 参数。

    Element firstDiv = div.first();

OR

    Elements div = doc.select("div.div_idalgo_content_result_date_match_local:eq(0)");

请注意您从文档中选择的第二种方法,而在第一种方法中,您从Element的集合中选择。您当然也可以将:eq(0)的值更改为与您的元素匹配的其他内容。您可以使用许多有用的选择器,我在答案的最后包含了一个链接。

以下代码会将您的div分成两部分:

    Elements div = doc.select("div.div_idalgo_content_result_date_match_local");
    Element firstDiv = div.first();
    Element secondDiv = div.get(1);

    System.out.println("This is the first div: " + firstDiv.text());
    System.out.println("This is the second div: " + secondDiv.text());

JSoup Cookbook - Selector syntax