Clojure相当于Python的lxml库?

时间:2009-10-14 21:51:50

标签: java python clojure lxml

我正在寻找与Python的lxml库等效的Clojure / Java。

我过去曾经用它来解析各种各样的html(作为BeautifulSoup的替代品),能够为xml使用相同的elementtree api非常棒 - 真的是值得信赖的朋友!任何人都可以推荐类似的Java / Clojure库吗?

关于lxml

lxml是一个基于libxml2的xml和html处理库。它可以很好地处理损坏的html页面,因此非常适合屏幕抓取任务。它还实现了ElementTree api,因此xml / html结构表示为一个树对象,完全支持xpath和css选择器等。

它还有一些非常方便的实用功能,例如“清洁”模块,它将从“汤”中删除不需要的标签(即脚本标签,样式标签等......)。

因此使用简单,强大且非常快......!

2 个答案:

答案 0 :(得分:8)

活跃:http://github.com/cgrand/enlive

我用它来进行屏幕抓取,它的效果非常好。它使用CSS选择器之类的语法来获取文档中的元素。

答案 1 :(得分:4)

对于Java(因此可以从Clojure中使用)是tagsoup-library,它与lxml一样,是对错误SGML变体的容忍解析器。

Clojure有一个捆绑的命名空间clojure.xml,但这只适用于有效的XML。