0

假设我浏览了一个使用 JavaScript 不断更新其视图的特定网页(使用 Web 2.0 技术与他们的服务器通信以检索数据更新)。

现在我喜欢在我自己的计算机上运行一些代码来监控内容并在页面上出现某些特定数据时提醒我,以便我可以记录这些数据。

我正在寻找实现这一目标的方法。因为它是一个私人项目,所以我可以灵活地选择我的工具(我可以用 C 和 REALbasic 编程,也可以管理一点 JavaScript)。我唯一无法控制的是我想要监控的页面。

我更喜欢可以在 Mac OS X 上使用的解决方案,但 Linux 或 Windows 也是可行的。

首先,我想知道是否已经有解决方案。例如,用户可编写脚本的 Web 浏览器之类的东西。

如果那不可用,我想知道如何通过自己编程来最好地解决这个问题。例如,谁能告诉我 Apple 的 Webkit 是否允许我内省动态更新的网页?

作为最后的手段,我想我必须将自己的 javascript 代码插入到查看的网页中(我认为,在通过 Internet 加载页面时,我可以很容易地做到这一点),然后让该脚本定期运行,内省它所在的页面。在这种情况下,我唯一不知道的是如何让它与外部通信,即我的计算机。我当然可以编写一个可以尝试与之交谈的应用程序,但它怎么可能访问我的计算机资源来建立这样的通信呢?据我了解网页沙盒,他们不能读/写本地文件或与他们正在运行的计算机上的套接字通信,或者他们可以吗?

因此,欢迎任何想法,只要他们清楚我必须让浏览器或其引擎呈现页面并运行页面的 Javascript 的概念。

4

3 回答 3

1

这听起来像是在 Firefox 中使用Jetpack很容易。

您可以使用 Javascript 创建浏览器扩展 - 它仍处于 alpha 阶段,但看起来可行(而且很棒)......

于 2009-05-27T08:59:02.397 回答
1

我同意你绝对可以使用 Firefox 扩展来做到这一点(我没有使用过 JetPack,我不知道它是否可以处理这个问题)。Firefox 扩展可以与任意XPCOM组件通信。因此,扩展将有一个小的 JavaScript 部分从 DOM 中吸取数据,然后与 C(++) XPCOM 组件通信以执行其他任何操作。

请参阅使用 Mozilla 构建系统创建 C++ XPCOM 组件 创建自定义 Firefox 扩展

于 2009-05-27T09:43:04.633 回答
0

实际上,我刚刚意识到 REALbasic 的 Monkeybread 插件提供了我所需要的一切,而且显然比使用 Jetpack 更容易,甚至:

http://www.monkeybreadsoftware.de/pluginhelp/example-cocoa-domformfields.shtml

因此,我可以编写自己的浏览器来获取网页,然后过滤掉 DOM 数据,甚至对其进行修改。

于 2009-05-27T12:12:03.100 回答