1

我想使用 phantomjs/casperjs 库从网站获取一些信息,因为我正在运行网站上的所有 javascripts 后寻找HTML 结果。我用这个答案中的以下代码解决了这个问题

var page = require('webpage').create();  
page.open('http://www.scorespro.com/basketball/', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var p = page.evaluate(function () {
            return document.getElementsByTagName('html')[0].innerHTML
        });
        console.log(p);
    }
    phantom.exit();
});

我还按照这些说明解决了在 heroku 上运行 phantomjs/casperjs 的问题,所以当我现在在 OS X 终端上说时,我得到了给定篮球比分网站的结果,正如我所期望的那样。heroku run phantomjs theScriptAbove.jsHTML

但我真正想要的是从 Mac 桌面应用程序中获取 html 文本,这就是为什么我一直在寻找一种方法来在像 heroku 这样的 Web 服务器上运行脚本的原因。所以,我的问题是:

有没有办法在我的 Objective-C 桌面应用程序中远程获取 HTML 文本(我的脚本作为结果打印出来) ?

或者以另一种方式问:如何使用POST/GET远程运行并获取脚本的答案

ps 我可以处理 Rails 应用程序,所以如果有办法使用 Rails 来做到这一点 - 我只需要了解我必须做什么以及如何让 phantomjs 脚本与 Rails 通信的基本概念。但我认为可能有一个更简单的解决方案......

4

1 回答 1

1

如果我理解正确,您说的是进程间通信——以便应用程序可以以某种方式检索 Phantom 的结果(页面 HTML)。

根据幻影文档,有几个选项:

  • 将 HTML 写入文件并在您的应用中获取该文件
  • 运行 webserver 模块并对幻像执行 GET,并让幻像脚本以页面 HTML 响应

http://phantomjs.org/api/webserver/

于 2013-06-29T20:10:28.930 回答