【发布时间】:2023-03-28 02:07:01
【问题描述】:
我尝试创建函数来从 HTML 页面中抓取和标记,我将其 URL 提供给函数,这可以正常工作。我得到<h3> 和<table> 元素的序列,当我尝试使用选择函数从结果序列中仅提取表或h3标签时,
我得到(),或者如果我尝试映射我得到的那些标签(nil nil nil ...)。
您能帮我解决这个问题,或者解释一下我做错了什么吗?
代码如下:
(ns Test2
(:require [net.cgrand.enlive-html :as html])
(:require [clojure.string :as string]))
(defn get-page
"Gets the html page from passed url"
[url]
(html/html-resource (java.net.URL. url)))
(defn h3+table
"returns sequence of <h3> and <table> tags"
[url]
(html/select (get-page url)
{[:div#wrap :div#middle :div#content :div#prospekt :div#prospekt_container :h3]
[:div#wrap :div#middle :div#content :div#prospekt :div#prospekt_container :table]}
))
(def url "http://www.belex.rs/trgovanje/prospekt/VZAS/show")
这行让我头疼:
(html/select (h3+table url) [:table])
你能告诉我我做错了什么吗?
只是为了澄清我的问题:是否可以使用 enlive 的 select 函数从 (h3+table url) 的结果中仅提取表标签?
【问题讨论】: