我想要通过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
分享到:
相关推荐
CentOS6离线安装docker1.7,以及相关的依赖架包,包括docker-io-1.7.1-2.el6.x86_64.rpm、lxc-libs-1.0.11-1.el6.x86_64.rpm、lxc-1.0.11-1.el6.x86_64.rpm等以及device-mapper-1.02.117-12.el6_9.1.x86_64.rpm、...
Centos6安装VNCServer实现图形化访问
Centos7.9安装部署Zabbix6,需要安装包的发邮箱,文件里面包含邮箱地址
CentOS是Linux发行版之一,相信不少朋友想知道CentOS系统安装配置的方法,下面小编给大家介绍下安装配置CentOS6.6的具体步骤,感兴趣的朋友不妨来了解下吧。
centos6.7安装jdk1.8全部详细过程,若有疑问,欢迎联系!
centos6离线rpm安装unzip和zip zip-3.0-1.el6_7.1.x86_64.rpm unzip-6.0-5.el6.x86_64.rpm 解决Red Hat 6.9系统No more mirrors to try问题; 1.查看 unzip 是否被安装 rpm -qa | grep unzip 2.先安装unzip: rpm ...
centos7.0安装mysql centos7.0安装mysql centos7.0安装mysql
CentOS7下安装JDK1.8详细过程
centos 7.6安装流程下载详细安装过程,在网上看到特别好的教程,很好地解决了小白的问题,为此特意记录下来了。附件如下:centos 7.6安装流程.docx
centos 6 安装oracle
OS:CentOS release 6 Kernel: 2.6.32-754.35.1.el6.x86_64 ffmpeg: 2.6.8 虽然下载速度慢点,但成功安装了多台机器
Centos离线安装iptables
CentOS7安装指南
CentOS7安装Git
CentOS 7 安装 MySQL
内容: 1、centos 6 安装 mantisbt-1.2.8 ; 2、 centos 7 安装 mantisbt-2.12.0.zip 3、mantisbt-2.12.0.tar.gz包; 4、MySQL-5.5.59-1.el7.x86_64.rpm-bundle.tar包
centos6_64 yum配置,一键搞定.centos6_64 yum配置,一键搞定
2-CentOS6安装MySQL5.71
centos 一键安装cacti1.2.22脚本以及软件
CentOS 6.4安装(超级详细图解教程) 说明: 1、CentOS 6.4 系统镜像有两个,安装系统只用到第一个镜像即 CentOS-6.4-i386-bin-DVD1.iso(32 位) ...6、解决 VMware Workstation 虚拟机自动安装 CentOS 问题