最近做爬虫,遇到了需要爬取异步文件中的内容,结果找不到方法,耽搁了好久,最后终于找到啦,使用phantomjs
直接下载phantomjs,然后可以直接使用啦
贴出codes.js
//codes.js
system = require('system')
address = system.args[1];//获得命令行第二个参数 接下来会用到
var page = require('webpage').create();
var url = address;
page.settings = {
loadImages: false, //禁止加载图片
resourceTimeout = 10000,
userAgent: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) PhantomJS/19.0'
};
page.open(url, function (status) {
if (status !== 'success') {
//console.log('Unable to post!');
} else {
console.log(page.evaluate(function(){
var c = document.querySelector('#pgrow').innerHTML; //获取HTML中pgrow标签内的内容
return c;
}));
}
phantom.exit();
});
php部分:
<?php
$command = "F:/PHP/workspace/Test1/phantomjs.exe F:/PHP/workspace/Test1/codes.js $url 2>&1";
$page =exec($command,$output); //执行结果但不输出
//$page = passthru($command); //直接输出整个内容
var_dump($output);
?>
这样就可以获取到啦,接下来你就可以随心所欲了。希望对大家有帮助!