您的位置:首页 > 运维架构 > Linux

linux命令行抓取网页快照

2015-06-05 13:34 645 查看
公司研发需求,在Centos下将页面快照成图片,通过谷歌查到cutycapt可以实现,进行了实验,效果还不错,整理下安装过程。

1.环境信息
系统:Centos6.6 x86_64

2.添加qt47的yum源
vim /etc/yum.repos.d/atrpms.repo添加如下内容
[atrpms]
name=CentOS $releasever-$basearch-ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1

[atrpms-testing]
name=CentOS $releasever-$basearch-ATrpms testing
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1
3. 安装qt47:
yum -y install qt47 qt47-devel qt47-webkitqt47-webkit-devel
4. 安装cutycapt
网上大多说用svn从https://cutycapt.svn.sourceforge.net/svnroot/cutycapt直接checkout下来,我试了几次都不成功,无奈,直接打开网站手动下载下来,上传到服务器,好在文件不多,只有3个文件:
CutyCapt.cpp、CutyCapt.hpp、CutyCapt.pro

mkdir /app/CutyCapt  #将下载的文件上传到该目录
cd /app/CutyCapt/
qmake-qt47
make
cp CutyCapt /usr/local/bin/cutycapt
3. 安装xvfb
CutyCapt需要X服务才能运行,如果不装X服务直接运行会报错:
cutycapt: cannot connect to X server :0
可以安装轻量级的X服务Xvfb来运行CutyCapt
yum -y install xorg-x11-server-Xvfb
4. 测试
通过以下命令来获取网页快照
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.51cto.com --out=51cto.png
如果嫌命令太长,可通过alias来解决:
alias cutycapt='xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt'
这样就可以通过一下命令来获取快照:
cutycapt --url=http://www.51cto.com --out=51cto.png
5. 解决乱码问题
如果服务器上没有安装中文字体,获取的图片中会有乱码,可以安装中文字体解决,我是从windows下拷贝中文字体到服务器/usr/share/fonts/dejavu/目录下,然后也不会出现乱码。

本文出自 “分享是一种快乐” 博客,请务必保留此出处http://gladiator.blog.51cto.com/2313511/1658848
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: