centos下利用phantomjs来完成网站页面快照截图

最近研究了下phantomjs,感觉还是非常不错的。

首先到官网下载一个源码包

http://phantomjs.org/download.html

点击源码包下载如图:

技术分享

然后在linux下将必要的一些软件都用yum方式先安装好

sudo yum -y install gcc gcc-c++ make flex bison gperf ruby   openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel   libpng-devel libjpeg-devel

接着,解压下载好的源码包,执行./build.sh

他还提示这个安装过程可能会比较长,大约30分钟左右,安装好后,在当前目录下会有个bin/目录,将bin/目录下的phantomjs移动到/usr/bin下即可

到这里,phantomjs就安装好了

到一个空目录下创建一个jietu.js文件,代码如下:

注释部分开启后屏幕将以1024*768的尺寸截取网页第一屏,

var page = require(‘webpage‘).create();
var args = require(‘system‘).args;

var pageW = 1024;
var pageH = 768;

//page.viewportSize = {
//  width: pageW,
//  height: pageH
//};

var url =  args[1];
var filename = args[2];
page.open(url, function (status) {
    if (status !== ‘success‘) {
        console.log(‘Unable to load ‘ + url + ‘ !‘);
        phantom.exit();
    } else {
        window.setTimeout(function () {
           // page.clipRect = { left: 0, top: 0, width: pageW, height: pageH };
            page.render(filename);
            console.log(‘finish:‘, filename);
            phantom.exit();
        }, 1000);
    }
});

 

最后执行如下命令

//>phantomjs js文件 要截取的网址 图片存储路径

>phantomjs ./jietu.js http://www.cnblogs.com ./cnblogs.png

图片就截图好了,如图

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。