【发布时间】:2016-01-09 09:14:09
【问题描述】:
我正在用 Clojure / ClojureScript 编写一个小型网络抓取程序。这是一个非常简单的命令行应用程序(适用于 Linux),它访问网页、过滤结果并将其打印到控制台。
但是,这引发了一些问题 - 尤其是因为我来自 JS/Node.js 背景,而且 Clojure 对我来说还很陌生。
(1) 首先:对于Clojure 程序来说,这是否是一项好任务,它将作为.jar 文件交付给JVM。启动JVM很慢,但是程序需要快速启动和停止,因为它是日常使用的。但我想有办法让一个 JVM 在后台运行,它正在等待然后按需执行 jar 文件。 (?)
(2) 另一种方法是使用 ClojureScript 并将其编译为节点友好的 JavaScript。这肯定会解决上一段的观点。但我不确定是否有必要。
(3) 另一个问题是,使用哪个库。而这当然也和前面的几点有关。为此目的是否有一个好的 Clojure/ClojureScript 库?基本上用于使用 CSS 选择器查询 DOM。在 JS 中,我会使用 JsDom,它读取 HTML 字符串并从中创建一个“Shadow DOM”。 Clojure 世界中有哪些等价物?
(4) 一个加号肯定是一个处理常见网络抓取任务的库。例如:处理分布在多个编号页面上的信息。 (例如搜索引擎的结果)
有人给我一些提示吗?
【问题讨论】:
标签: node.js clojure web-scraping jvm clojurescript