问题 Clojure相当于Python的lxml库?


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

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

关于lxml

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

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

所以它使用简单,功能强大,速度非常快......!


3121
2017-10-14 21:51


起源

lxml所做的简短描述可能有助于java / clojure专家了解您正在寻找的内容 - pstanton
好主意 - 添加了“关于lxml”部分 - erikcw


答案:


Enlive: http://github.com/cgrand/enlive

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


8
2017-10-15 13:31





对于Java(因此可以从Clojure中使用)是 tagsoup-图书馆,喜欢 lxml,是一个容错的解析器,用于错误的SGML变体。

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


4
2017-10-15 00:16