如何使用clojure解析html文件?

时间:2013-03-18 10:49:03

标签: html clojure

我是clojure的新手,我需要一些例子。请告诉我如何使用clojure解析html文件?

3 个答案:

答案 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)

Clojure的xml parsing库可供您使用。

  

解析并加载源s,可以是File,InputStream或   命名URI的字符串。返回xml / element struct-map的树,   其中包含键:tag,:attrs和:content。和accessor fns标签,   吸引力和内容。其他解析器可以通过传递提供   startparse,一个fn获取一个源和一个ContentHandler并返回一个   解析器

或者使用enlive,它的框架完全在clojure上或使用基于Java的HtmlCleaner

答案 2 :(得分:1)

HTML解析器

源-https://www.clojure-toolbox.com