php - 如何从 php 执行 casperjs?

标签 php parsing web-scraping phantomjs casperjs

我有一个来自手册 http://docs.casperjs.org/en/latest/cli.html 的 test.js 代码

var casper = require("casper").create();

casper.echo("Casper CLI passed args:");
require("utils").dump(casper.cli.args);

casper.echo("Casper CLI passed options:");
require("utils").dump(casper.cli.options);

casper.exit();

我可以从终端“$ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg”成功执行它。它正在工作,这很好,但我需要从 PHP 脚本执行它,我尝试通过 PHP 代码来执行它:

<?php

function parser() {
    try {
        echo(exec("C:\casperjs\bin\casperjs.exe  C:\OpenServer\domains\casper\test.js arg1 arg2 arg3 --foo=bar --plop anotherarg"));
        flush();
    } catch (Exception $exc) {
        echo('error!');
        echo $exc->getTraceAsString();
    }
}

parser();

putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
putenv("DYLD_LIBRARY_PATH");

?>

但是我遇到了失败“phantomjs://code/bootstrap.js:110 in __die”。 我怎样才能正确地做到这一点?请帮忙!

最佳答案

您可以使用 CasperJS 的 PHP 包装器:

或者,您可以使用 exec()执行命令:

$result = exec('PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs script.js');
echo $result;

关于php - 如何从 php 执行 casperjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41961189/

相关文章:

php - Composer 不下载

php - 时区 : Mysql save UTC and PHP read America/Sao_Paulo

php - 使用 PHP simplexml_load_string 解析 xml

parsing - 在 Haskell 中使用 lex 解析字符串

python - 如何使用 python 抓取谷歌地图

php - 更新 Google map 上的位置 - API

Python:将复杂的字符串解析成可用的数据进行分析

regex - 用 perl 解析 scutil 输出

python - 网页抓取客户评论

python - Scrapy正在爬取,但没有输出