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

时间:2013-05-11 12:21:10

标签: javascript html heroku phantomjs casperjs

我想使用phantomjs / casperjs库从网站获取一些信息,因为我正在寻找网站上所有javascripts运行后的 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时,我得到{ {1}}我所期待的给定篮球得分网站。{/ p>

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

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

或以其他方式询问:如何运行并远程获取我的脚本答案 POST / GET

P.S。 我可以处理Rails应用程序,所以如果有一种方法可以使用Rails来实现这一点 - 我只需要了解我必须做的基本思路以及如何让phantomjs脚本与Rails进行通信。但我认为可能有一个更简单的解决方案......

1 个答案:

答案 0 :(得分:1)

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

根据幻像文档,几个选项:

  • 将HTML写入文件并在您的应用中选择文件
  • 运行网络服务器模块并执行GET到幻像,并让幻像脚本响应页面HTML

请参阅http://phantomjs.org/api/webserver/