PhantomJS简介


PhantomJS是什么?

PhantomJS是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、HTML5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页爬虫、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。

PhantomJS的下载和安装

PhantomJS下载地址:http://phantomjs.org/download.html

目前官方支持三种操作系统:

  • windows
  • Mac OS
  • Linux

可以根据你自己的操作系统类型选择要下载的包,我当前的环境是Mac OS。

下载后解压大指定目录,就可以了。

/Users/majunwei/Documents/work/soft/phantomjs-2.1.1-macosx

这样就完成了phantomJS的安装。

PhantomJS实例 - Hello,World

官方的Hello,World太过简单了,这里直接抓取网络内容吧:

1、新建hello.js

page = require('webpage').create();
phantom.outputEncoding="utf8";
page.open("http://www.majunwei.com", function(status) {
   if ( status === "success" ) {
      console.log("Hello," + page.title); 
   } else {
      console.log("Page failed to load."); 
   }
   phantom.exit(0);
});

2、进入Phantomjs的bin目录,运行./phantomjs hello.js:

localhost:bin majunwei$ ./phantomjs hello.js

Hello,小马过河 - 为IT行业创造的权威、系统的中文学习资料库

厉害吧,把网页的title给扒下来了,phantomjs有很多内置的函数,可以获取网页中的各种内容。可以用于什么,自行脑补。

总结

本文只是快速体验下,除了以上功能,Phantomjs还可以做网络截图,生成PDF、网络爬虫等等,太多了。后续介绍phantomjs有多么强大,以及可以做的事情。

后续打算介绍:

  • PhantomJS内置的强大API
  • PhantomJS各种事件监听
  • PhantomJS实现网络截图
  • PhantomJS生成PDF
  • PhantomJS编写网络爬虫
  • 等等

敬请期待吧。。。

 

原创文章,转载请注明出处:转载自小马过河 - PhantomJS简介


Jbone

Spring Cloud实战项目jbone正在开发中, jbone功能包括服务管理、单点登录、系统管理平台、内容管理平台、电商平台、支付平台、工作流平台等子系统。欢迎关注!

GitHub 码云
马军伟
关于作者 马军伟
写的不错,支持一下

先给自己定个小目标,日更一新。