1

本周我使用Greasemonkey 早期自动调用页面以从网站上抓取一些数据,这很尴尬,原因有两个:

  1. 它基于 GUI 而不是基于命令行)
  2. 我必须将所有持久化信息存储在 JSON 中,而不是直接存储在数据库中。

是否有可能使用 node.js 作为 Greasemonkey 的替代品,因为 node.js 可以将记录直接存储在数据库中,并且不需要像 Greasemonkey 那样在视觉上加载页面?

此外,我认为 node.js 会更容易使用,因为您不必像使用 GreaseMonkey 那样将其脚本重新部署到 Firefox,从而使您可以轻松地在单独的脚本项目上使用版本控制。

另一方面,使用 node.js 来做 GreaseMonkey 的工作可能只是用锤子敲打螺丝,所以我想我会在这里检查一下我是否弄错了。

4

2 回答 2

3

另一方面,使用 node.js 做 GreaseMonkey 的工作可能只是用锤子敲螺丝

我会说事实恰恰相反。我相信您正在使用 Greasemonkey 来完成服务器端处理库的工作。Greasemonkey 在浏览器中运行,旨在通过在您访问的页面上运行脚本来修改您的 Web 体验。

事实上,我相信 Node.js 会非常适合这项任务。使用jsdomnode-jquery等库,您可以轻松地对 DOM 进行 JavaScript 解析。您可能还想看看node.io,一个“分布式数据抓取和处理框架”。最后,您可能会研究基于非 Node(但仍然是 JavaScript)的工具,例如PhantomJSCasperJS,它们可以进行抓取、DOM 操作、屏幕截图等。

于 2012-06-23T03:17:03.617 回答
1

这个问题有点不合逻辑。

Greasemonkey是让客户在客户调整他们的个人浏览体验。

Node.js是供开发人员大众(希望如此)交付应用程序的服务器端.


对于抓取数据,以一种自动化的方式,使用 Node.js 或一些服务器端库(Python 运行良好)。

对于您浏览的网页的“混搭” ,请使用 Greasemonkey。

于 2012-06-23T03:40:27.917 回答