【问题标题】:Clojure, using Enlive to extract raw HTML from a selector?Clojure,使用 Enlive 从选择器中提取原始 HTML?
【发布时间】:2012-03-08 09:18:35
【问题描述】:

我需要从 HTML 页面的某个部分检索一些 原始 HTML

我编写了刮板,它抓取了适当的 div,但它返回了一个标签映射。

(:use [net.cgrand.enlive-html :as html])

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

(defn parse-test []
  (let [url "http://www.ncbi.nlm.nih.gov/pubmedhealth/PMH0000928/"
        url-data (fetch-url url)
        id "a693025"]
    (first (html/select url-data [(keyword (str "#" id "-why"))]))))

这个输出:

{:tag :div, :attrs {:class "section", :id "a693025-why"}, :content ({:tag :h2, :attrs nil, :content ({:tag :span, :attrs {:class "title"}, :content ("Why is this medication prescribed?")})} {:tag :p, :attrs nil, :content ("Zolpidem is used to treat insomnia (difficulty falling asleep or staying asleep). Zolpidem belongs to a class of medications called sedative-hypnotics. It works by slowing activity in the brain to allow sleep.")})}

如何将其转换为原始 html?我找不到任何激活函数来执行此操作。

【问题讨论】:

    标签: clojure enlive


    【解决方案1】:
    (apply str (html/emit* [(parse-test)]))
    ; => "<div class=\"section\" id=\"a693025-why\"><h2><span class=\"title\">Why is this medication prescribed?</span></h2><p>Zolpidem is used to treat insomnia (difficulty falling asleep or staying asleep). Zolpidem belongs to a class of medications called sedative-hypnotics. It works by slowing activity in the brain to allow sleep.</p></div>"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      相关资源
      最近更新 更多