如何使用Enliven解析HTML?

时间:2014-05-10 19:08:04

标签: clojure enlive

这是使用Enlive解析example。是否会与Enliven存在差异?

(ns parse.enlive
  (:require [net.cgrand.enlive-html :as html]))

(def ^:dynamic *base-url* "https://news.ycombinator.com/")

(defn fetch-url [url]
  (html/html-resource (java.net.URL. url)))

(defn hn-headlines []
  (map html/text (html/select (fetch-url *base-url*) [:td.title :a])))

(defn hn-points []
  (map html/text (html/select (fetch-url *base-url*) [:td.subtext html/first-child])))

(defn print-headlines-and-points []
  (doseq [line (map #(str %1 " (" %2 ")") (hn-headlines) (hn-points))]
    (println line)))

如果这个简单的例子没有太大差异,那么在进行网页抓取时Enliven会有什么不同?

谢谢!

0 个答案:

没有答案