linux命令行抓取网页快照

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


1.环境信息

系统:Centos6.6 x86_64


2.添加qt47yum

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/目录下,然后也不会出现乱码。


你可能感兴趣的:(网页快照,catycapt)