javascript - 如何远程获取在heroku上运行的phantomjs脚本的答案?

标签 javascript html heroku phantomjs casperjs

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

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();
});

我还通过以下 these instructions 找到了让 phantomjs/casperjs 在 Heroku 上运行的方法。 ,所以当我现在在 OS X 终端上说 heroku run phantomjs theScriptAbove.js 时,我得到了给定篮球比分网站的 HTML,正如我所期望的那样。

但我真正想要的是 get the html text from within a Mac desktop application ,这就是我寻找一种在像 heroku 这样的 Web 服务器上运行脚本的方法的原因。所以,我的问题是:

有什么方法可以在我的 Objective-C 桌面应用程序中远程获取 HTML 文本(我的脚本作为结果打印)?

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

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

最佳答案

如果我理解正确的话,你正在谈论进程间通信 - 这样应用程序就可以以某种方式检索 Phantom 的结果(页面 HTML)。

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

  • 将 HTML 写入文件并在您的应用中选取该文件
  • 运行网络服务器模块并对 phantom 执行 GET 操作,并让 phantom 脚本使用页面 HTML 进行响应

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

关于javascript - 如何远程获取在heroku上运行的phantomjs脚本的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16497024/

相关文章:

javascript - 当我们点击图片缩略图时,我们如何显示带有图片的文字?

node.js - 如何从heroku 上的NodeJS 应用程序中删除socket.io 轮询日志?

c# - 即使按下键盘上的 Enter 键,如何调用按钮按下事件

javascript - 如何观察 DOM 元素位置变化

javascript - .click() 不适用于特定索引

node.js - 错误:Redis与127.0.0.1:6379的连接失败-连接ECONNREFUSED 127.0.0.1:6379 Heroku

ruby-on-rails - 如何解决将 Rails 应用程序部署到 Heroku 的问题?

javascript - 为什么我不应该从计算中设置数据?

javascript - 如何在ajax回调中使用类变量?

html - Div 错误地 float 在另一个 div 之上