我的项目中有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
还要注意的是,谷歌可能积极希望不让用户废弃和保存他们的搜索结果。我不确定。