在Java中类似于jQuery的库是什么?

5

我正在寻找一款简单、轻量级的Java库,用于解析HTML。我已经搜索了很多选项,但是没有找到合适的东西。我真的希望有像Python中的pyquery一样的Java库。我的要求是:快速、易于使用和轻量级。

我需要这个库来做什么?不确定是否重要,但我需要索引HTML文档的部分。因此,我希望能够快速选择文档的某个部分,然后对其进行解析。

4个回答

7

过去我使用过HTMLParser,但并不是很满意。我发现了tagsoup和jsoup。我非常喜欢jsoup。虽然还没有广泛使用过,但你可以像下面这样使用它:

Elements resultLinks = doc.select("h3 > a"); // direct a after h3

使用jsoup之后,我认为它正是我在寻找的。我不明白为什么经过这么多搜索,没有找到它。但它几乎拥有我需要的所有功能。 - Amir Raminfar

2

试试Groovy。它有许多“slurpers”,这些DSL用于读取标记语言,如XML和HTML,以及JSON。这里是一个例子。


Groovy是一种运行在JVM上的语言,非常容易包含在您的项目中。我不明白为什么会被投票否决。 - Anatoly G
1
我为你的评论点了赞,Ben,但我猜那个人投了反对票,因为Groovy并不是真正的Java? - djondal
到底什么是“真正的”Java呢?它在JVM上运行,用Java编写,易于运行。 - Anatoly G
@djondal.. 谢谢。是的,也许这仍然适用。无论如何,投票反对而不提供反馈真的很糟糕。 - Ben
也许他们应该改变 Stack Overflow,这样我们就不能在没有评论的情况下投反对票了。 - Ben
我有一些高度GUI敏感的数据需要解析,然后传递给Solr。我希望有一个直接的Java解决方案。虽然我会尝试它。 - Amir Raminfar

1

使用tagsoup将HTML标准化为xhtml,并使用XOM解析生成的文档。这并不难。

XPath将为您提供类似于CSS选择器的简单选择。


看起来很相似。Tagsoup 也有一个可以下载的 Java 库,但它不提供任何解析或查找功能;它仅产生良好的 XML,您可以对其进行解析。 - Stefan Kendall

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接