不能用phantomjs下载html


Can not download html with phantomjs

我的项目中有3个不同的文件,布局为

  • phantomjs
  • ——> phantomjs.js
  • ——> phantomjs.exe
  • index . php

index . php:

$phantom_script = dirname(__FILE__). ''phantomjs'phantomjs.js';
$response =  exec (''phantomjs'phantomjs.exe' . $phantom_script);
echo $response;

phantomjs ' phantomjs.js

var webPage = require('webpage');
var page = webPage.create();
page.open('http://www.google.com', function(status) {
   console.log(page.content);
   phantom.exit();
});

根据文档,您的用法是正确的。http://phantomjs.org/api/webpage/property/content.html

php exec方法只返回最后一行。也许这一行是空白。http://php.net/manual/fr/function.exec.php

您应该有第二个参数&$output,通过引用发送。它是一个包含整个输出的数组。

稍后可能会遇到的一个问题是,在尝试将内容读取为DOM文档内容之前,可能需要对其进行评估。例如使用HTML标签的innerHTML,即:$(' HTML ').html();

如果页面没有jquery,你可以包括它,参见这个例子,https://github.com/ariya/phantomjs/blob/master/examples/phantomwebintro.js

还要注意的是,谷歌可能积极希望不让用户废弃和保存他们的搜索结果。我不确定。