我是clojure的新手,我需要一些例子。请告诉我如何使用clojure解析html文件?
答案 0 :(得分:17)
Enlive是一个很棒的工具。简而言之:
(ns foo.bar
(:require [net.cgrand.enlive-html :as html]))
(defn fetch-page [url]
(html/html-resource (java.net.URL. url)))
Here是一个很好的教程,可以将它用作刮刀/解析器和模板引擎:
Here是抓取页面的简短示例。
另一个选项是clj-tagsoup。 Enlive还使用了tagsoup,但另外还有一个可插入的解析器,因此您可以添加对其他解析器的支持。
答案 1 :(得分:4)
解析并加载源s,可以是File,InputStream或 命名URI的字符串。返回xml / element struct-map的树, 其中包含键:tag,:attrs和:content。和accessor fns标签, 吸引力和内容。其他解析器可以通过传递提供 startparse,一个fn获取一个源和一个ContentHandler并返回一个 解析器
或者使用enlive,它的框架完全在clojure上或使用基于Java的HtmlCleaner。
答案 2 :(得分:1)
HTML解析器