zoukankan      html  css  js  c++  java
  • phantomjs介绍(js网页截屏、javascript网页解析渲染工具)

    phantomjs介绍-(js网页截屏、javascript网页解析渲染工具)

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

    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,现在的最新版本是1.7了。
    写一个loading.js放到其同一个目录:
     

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


    现在的目录结构:
     

    PHP代码 
    1. [root@mingming-dev bin]# ls
    2. loading.js  phantomjs

    执行脚本:
     

    PHP代码 
    1. ./phantomjs loading.js http://weibo.com ./weibo.png

    第三个参数就是需要截取的url,第四个参数是截取的图片存放的位置。

    如何利用phantomjs做网页解析渲染工具。

  • 相关阅读:
    Java [leetcode 33]Search in Rotated Sorted Array
    JAVA方法和本地方法(转载)
    Java集合框架
    常用排序算法
    Java [leetcode 32]Longest Valid Parentheses
    四大组件的生命周期
    Android Service即四大组件总结
    Java [leetcode 31]Next Permutation
    android 组件设置屏幕大小
    MenuInflater用法
  • 原文地址:https://www.cnblogs.com/python001/p/4242851.html
Copyright © 2011-2022 走看看