网页整页截屏利器phantomjs

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代码 
  1. #[root@mingming-dev bin]# cat loading.js
  2. var page = require('webpage').create(),
  3.   address, output, size;
  4. if (phantom.args.length < 2 || phantom.args.length > 3) {
  5.   console.log('Usage: rasterize.js URL filename');
  6.   phantom.exit();
  7. else {
  8.   address = phantom.args[0];
  9.   output = phantom.args[1];
  10.   page.viewportSize = { width: 1024, height: 768 };
  11.   page.open(address, function (status) {
  12.     if (status !== 'success') {
  13.     console.log('Unable to load the address!');
  14.     } else {
  15.     window.setTimeout(function () {
  16.       page.render(output);
  17.       phantom.exit();
  18.     }, 200);
  19.     }
  20.   });
  21. }

现在的目录结构:
PHP代码 
  1. [root@mingming-dev bin]# ls
  2. loading.js  phantomjs
执行脚本:
PHP代码 
  1. ./phantomjs loading.js http://weibo.com ./weibo.png
第三个参数就是需要截取的url,第四个参数是截取的图片存放的位置。截出来的效果还不错,如下:


你可能感兴趣的:(网页整页截屏利器phantomjs)