php 爬虫如何爬取ajax异步加载文件

最近做爬虫,遇到了需要爬取异步文件中的内容,结果找不到方法,耽搁了好久,最后终于找到啦,使用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部分:
&1";  
            $page =exec($command,$output);  //执行结果但不输出  
            //$page =  passthru($command);   //直接输出整个内容  
            var_dump($output);
?>


这样就可以获取到啦,接下来你就可以随心所欲了。希望对大家有帮助!


你可能感兴趣的:(PHP)