gpt4 book ai didi

sql - clojure 中的简单数据库存储

转载 作者:行者123 更新时间:2023-12-04 05:12:27 24 4
gpt4 key购买 nike

这是一个新手问题。我有一个解析网页并返回一系列 5 个元素的函数。然后我使用 println功能,看看它是否正常工作。

...
(defn select-first-index-page-elements [source element n]
((get-parsing-logic source "parsing-logic-index-page" element "final-touch-fn")
(nth
(html/select
(fetch-first-page source)
(get-parsing-logic source "parsing-logic-index-page" element "first-touch"))
n)))

(defn parsing-source [source]
(loop [n 0]
(when (< n (count-first-index-page-elements source "title"))
(println ; the group of elements:
(select-first-index-page-elements source "date" n)
" - "
(select-first-index-page-elements source "title" n)
" - "
(select-first-index-page-elements source "url" n)
"\n")
(recur (inc n)))))))

(parsing-source "events-directory-website")

现在,而不是 println函数,如何将这些元素存储到数据库中?如果它已经在数据库中,我如何不能存储给定的元素组?
我怎样才能只打印解析函数找到的新元素组?

最佳答案

您可能想查看 SQL Korma .

使用 sql korma:

我如何将这些元素存储到数据库中?

(insert my-elements
(values [{:elements ("a" "b" "c")}]))

如果它已经在数据库中,我如何不能存储给定的元素组?
;; using some elements youre looking for
(if-not [is-in-db (select my-elements
(where {:elements the-elements-youre-looking-for}))]
(insert my-elements
(values [{:elements the-elements-youre-looking-for}])))

我怎样才能只打印解析函数找到的新元素组?
您可以使用上述答案中的 (select ...) 调用来解决此问题。

希望有帮助。

关于sql - clojure 中的简单数据库存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com