linux64位使用phantomjs获取页面截图

linux64位使用phantomjs获取页面截图:

安装:

官网:http://phantomjs.org/download.html

如果下载慢,可以搜索相应包的下载地址,比如linux 64-bit的可以从http://download.csdn.net/detail/likunlun1234/9471008下载

解压缩:

tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2

使用:

切换到对应目录,执行./bin/phantomjs xxx.js,例如./bin/phantomjs examples/hello.js

截屏js:

examples/rasterize.js

例如截屏easou首页,./bin/phantomjs examples/rasterize.js  http://www.easou.com/ a.png

注意,如果输出成jpg格式,背景是黑色的,这个不知怎么能解决。

字体:

如果中文未显示,是因为linux下缺失中文字体。centos安装:yum install bitmap-fonts bitmap-fonts-cjk,ubuntu安装:sudo apt-get install xfonts-wqy

分辨率:

./bin/phantomjs examples/rasterize.js  http://www.itjuzi.com/ b.png

图片导航栏换行了,如下图,是因为屏幕分辨率不够高。

linux64位使用phantomjs获取页面截图_第1张图片

解决办法是后面加屏幕参数,./bin/phantomjs examples/rasterize.js  http://www.itjuzi.com/ c.png 3840px,加上参数后运行无结果,因为js报错,因为pageWidth, pageHeight两个变量未定义。解决后结果如下图:

linux64位使用phantomjs获取页面截图_第2张图片

登录问题:

header信息可以这样填写:

page.customHeaders = {
  "User-Agent": "",
  "Host": "",
  "Cookie":""
};
这条路还未跑通,登录是可以的,能获取到数据,但截图结果不理想,缺失样式。

参考文档:

官方API文档说明

phantomjs使用说明

你可能感兴趣的:(linux/shell,spider)