您的位置:首页 > Web前端 > JavaScript

网页整页截屏利器phantomjs

2012-12-12 16:06 232 查看
PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

PhantomJS is created by Ariya Hidayat.

官方网站:http://phantomjs.org/

phantomjs 是一个基于js的webkit内核无头浏览器
也就是没有显示界面的浏览器,这样访问网页就省去了浏览器的界面绘制所消耗的系统资源,比较适合用于网络测试等应用 。利用这个工具,我们可以轻松的搭建一个接口用于获取我们想要的url的整页截屏。

使用教程:
首先到其官网下载最新版本的PhantomJS,现在的最新版本是1.7了。

写一个loading.js放到其同一个目录:

PHP代码 

#[root@mingming-dev bin]# cat loading.js

var page = require('webpage').create(),

  address, output, size;

if (phantom.args.length < 2 || phantom.args.length > 3) {

  console.log('Usage: rasterize.js URL filename');

  phantom.exit();

} else {

  address = phantom.args[0];

  output = phantom.args[1];

  page.viewportSize = { width: 1024, height: 768 };

  page.open(address, function (status) {

    if (status !== 'success')
{

    console.log('Unable to load the address!');

    } else {

    window.setTimeout(function () {

      page.render(output);

      phantom.exit();

    }, 200);

    }

  });

}

现在的目录结构:

PHP代码 

[root@mingming-dev bin]# ls

loading.js  phantomjs

执行脚本:

PHP代码 

./phantomjs loading.js http://weibo.com ./weibo.png

第三个参数就是需要截取的url,第四个参数是截取的图片存放的位置。截出来的效果还不错,如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: