2

属性が何らかの値に設定されているタグsrcの属性を取得しようとしていました。imgitemprop

OK、タグを取得し、今日ここで尋ねた質問に従って内部テキストを抽出できます (この場合、明らかにテキストはありません) が、属性imgの値を返すのに役立つものは何も見つかりませんsrc

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

(defn getbyitemprop 
  "Extract node content from HTML"
  [html value]
  (e/select-nodes* (e/html-snippet html)
             [(e/attr= :itemprop value) e/text-node]))

これにより、引数として渡すitempropによって要素の内部テキストが取得されます

4

1 に答える 1

2

この場合、属性とコンテンツを含むタグが必要なのでnet.cgrand.enlive-html/text-node、セレクターの一部を削除します。

(defn getbyitemprop
  "Extract node content from HTML"
  [html value]
  (e/select-nodes* (e/html-snippet html)
                   [(e/attr= :itemprop value)]))

(getbyitemprop
  "<p itemprop=\"description\" src=\"testvalue\"> Some content I want to extract </p>"
  "description")
;=> ({:tag :p, 
;     :attrs {:src "testvalue", :itemprop "description"}, 
;     :content (" Some content I want to extract ")})

これは、html の動的文字列に対して機能します。ファイルまたはリソース全般のより一般的な変換が必要な場合は、およびのドキュメントを参照してください。deftemplatedefsnippet

于 2013-09-20T13:17:13.883 に答える