`
ziyu_1
  • 浏览: 192480 次
  • 来自: ...
社区版块
存档分类
最新评论

CentOS6安装CutyCapt,实现网页截图过程以及相关问题

阅读更多
我想要通过php、java等程序自动为业务中的不同网站进行网页截图保存。通过网络上资料阅读,程序语言本身无法实现该功能,需要其他程序配合。

我的服务器是Linux CentOS 6.x,因此在这里我只记录在CentOS下面的过程和问题

主要用到以下软件工具:
1.Qt47:这个是CutyCapt底层架构,CutyCapt依赖Qt47(必须)
2.CutyCapt:进行网页截图的工具(必须)
3.x-server:需要配合CutyCapt进行截图(必须)
4.中文包:对中文网站截图,需要中文包的支持(必须)
5.ImageMagick:截图后对图片进行压缩等处理(可选)

安装过程步骤

一、先安装Qt47
增加qt47的下载源
vi /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

安装相关依赖包
yum update
yum install qt47
yum install qt47-devel
yum install qt47-webkit
yum install qt47-webkit-devel


可能的错误1
引用
warning: qt44-x11-4.4.3-10_4.el5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 66534c2b

解决
引用
yum -y install qt-devel*

可能的错误2:某些冲突conflict
引用
qt47-x11 conflicts with qt-x11
qt47-x11 conflicts with qt-x11

解决:通过yum remove 卸载冲突的内容
引用
yum remove qt-devel
yum remove qt-x11


二、安装 CutyCapt
下载代码,这里需要用到SVN,如果没有安装,可以使用命令安装:yum install subversion
cd /data0/software #目录根据自己的需求情况而不同
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
mv cutycapt/CutyCapt /usr/local/cutycapt #目录根据自己的需求情况而不同
cd /usr/local/cutycapt 

编译安装
qmake
make


可能的错误1
引用
-bash: qmake: command not found

解决:使用命令
引用
qmake-qt47

可能的错误2
引用
make: *** [CutyCapt] Error 1

解决:
引用
yum update sqlite


三、下载x-server
wget http://www.flexthinker.com/wp-content/uploads/2009/11/xvfb-run.sh.txt
mv ./xvfb-run.sh.txt/usr/local/cutycapt/xvfb-run.sh
chmod u+x /usr/local/CutyCapt/xvfb-run.sh


四,安装中文包
yum install fonts-chinese

 
五,安装ImageMagick
yum install ImageMagick


六,运行 CutyCapt进行截图:执行以下命令,如果没有错误,就会在当前目录下面保存截图
/usr/local/cutycapt/xvfb-run.sh --server-args="-screen 0, 1024x768x24"/usr/local/cutycapt/CutyCapt --url=http://www.163.com --out=163.jpg


Q:出现-bash: xvfb-run: command not found 或  xauth : command not found
A:安装 yum install Xorg xauth xorg-x11-fonts*(Xorg,xauth,xorg-x11-fonts* 这是三个不同的工具,每个都需要单独运行yum install来安装)

Q:错误提示:"mktemp: too few X's in template `Xauthority'."
A: 找到 AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority)
  修改为:AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority.XXXXXXXX)

Q:错误提示:CutyCapt: cannot connect to X server :99
A: 确认server-args参数是否正确,
 修改xvfb-run.sh脚本中SERVERNUM=99 改为SERVERNUM=0

Q:截出来的图片没有中文字,需要安装中文字体
A: yum install  cjkuni-ukai-fonts cjkuni-uming-fonts -y

七、处理截图
由于截屏的是整个网站的页面,只需要第一屏幕
convert -crop 1024x768+0+0 163.jpg 1632.jpg

缩小图片
convert -resize 40%x40% 1632.jpg 1632.jpg
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics