我正在寻找与Python的lxml库等效的Clojure / Java。
我过去曾经用它来解析各种各样的html(作为BeautifulSoup的替代品),能够为xml使用相同的elementtree api非常棒 - 真的是值得信赖的朋友!任何人都可以推荐类似的Java / Clojure库吗?
关于lxml
lxml是一个基于libxml2的xml和html处理库。它可以很好地处理损坏的html页面,因此非常适合屏幕抓取任务。它还实现了ElementTree api,因此xml / html结构表示为一个树对象,完全支持xpath和css选择器等。
它还有一些非常方便的实用功能,例如“清洁”模块,它将从“汤”中删除不需要的标签(即脚本标签,样式标签等......)。
因此使用简单,强大且非常快......!
答案 0 :(得分:8)
活跃:http://github.com/cgrand/enlive
我用它来进行屏幕抓取,它的效果非常好。它使用CSS选择器之类的语法来获取文档中的元素。
答案 1 :(得分:4)
对于Java(因此可以从Clojure中使用)是tagsoup
-library,它与lxml
一样,是对错误SGML变体的容忍解析器。
Clojure有一个捆绑的命名空间clojure.xml
,但这只适用于有效的XML。