gpt4 book ai didi

node.js - 关于简单的命令行网络抓取程序 (Clojure/ClojureScript) 的一些问题

转载 作者:搜寻专家 更新时间:2023-11-01 00:40:57 24 4
gpt4 key购买 nike

我正在使用 Clojure/ClojureScript 编写一个小型网络抓取程序。这是一个非常简单的命令行应用程序(适用于 Linux),它可以访问网页、过滤结果并将其打印到控制台。

但是,这会引发一些问题 - 尤其是因为我有 JS/Node.js 背景,而 Clojure 对我来说还很陌生。

(1) 首先:对于Clojure 程序来说,这是一项好任务吗,它将作为.jar 文件交付给JVM。启动 JVM 很慢,但程序需要快速启动和停止,因为它是日常使用的。但我想有一些方法可以让一个 JVM 在后台运行,它正在等待然后按需执行 jar 文件。 (?)

(2) 另一种方法是使用 ClojureScript 并将其编译为 Node 友好的 JavaScript。这肯定会解决上一段的要点。但我不确定是否有必要。

(3) 另一个问题是,使用哪个库。而这当然也与前面的几点有关。是否有用于此目的的良好 Clojure/ClojureScript 库?基本上用于使用 CSS 选择器查询 DOM。在 JS 中,我会使用 JsDom,它读取 HTML 字符串并从中创建一个“Shadow DOM”。 Clojure 世界中有哪些等价物?

(4) A plus 肯定是一个处理常见网络抓取任务的库。例如:处理分布在多个编号页面上的信息。 (例如搜索引擎的结果)

有人给我一些提示吗?

最佳答案

正如您已经确定的那样,Clojure 程序不需要编译成 JVM 字节码。由于您有 JS 背景,我建议您为 Node.js 编译爬虫。如果您是 Clojure 的新手,那么熟悉一些工具会有所帮助。

这样您就可以设置相同的工具链来构建客户端和服务器。您还可以利用 V8 近乎即时的启动时间。虽然实际上有plenty of ways to make the JVM startup less painful .

您可能想看看 hickory ― 一个用于解析 HTML 字符串并使用类似 css 的选择器对其进行操作的库。但是,如果您要编译为 JS,NPM 上还有大量可用的抓取库和工具。

对于具有更多功能的抓取库,您可能需要 checkout enlivethis tutorial ,因为这似乎是一个很好的起点。

关于node.js - 关于简单的命令行网络抓取程序 (Clojure/ClojureScript) 的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34691682/

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