Centos获取网页截图
环境准备
- Centos 7
- Python 2.7 (一般Centos7默认安装了Python2.7)
- Git
安装
安装Python-webkit2png
git clone https://github.com/adamn/python-webkit2png.git
cd python-webkit2png
python setup.py install
安装PyQt4相关依赖
yum install PyQt4.x86_64
yum install PyQt4-devel.x86_64
yum install PyQt4-webkit.x86_64
yum install PyQt4-webkit-devel.noarch
安装Xvfb(虚拟X server)
yum install xorg-x11-server-Xvfb.x86_64
使用
执行命令
我们来尝试截取百度页面
webkit2png https://baidu.com -x 1280 1200 -o baidu.png
webkit2png
后面是目标链接(也可以是html文件),参数-x 1280 1200
表示宽高,-o baidu.png
表示保存为baidu.png
执行以上命令后,没报错则说明安装成功(报错了可能是少安装了以上的依赖包)
我们可以将图片传送到自己的本地进行查看,图片如下
解决图片乱码情况
如果你的图片上的中文都是乱码,说明系统中缺少支持的中文字体
解决方法如下:
-
下载任意一种中文字体,或者直接从windows系统的字体文件夹(C:\Windows\Fonts)中选择一种,比如宋体simsun.ttc
-
将该字体文件放入
/usr/share/fonts/
路径下 -
修改权限
sudo chmod 644 /usr/share/fonts/simsun.ttc
-
执行以下命令,使字体生效
sudo mkfontscale sudo mkfontdir sudo fc-cache -fv
-
如果执行以上命令,出现command not found,说明系统没有安装该命令,因此需要安装一下
# 使mkfontscale和mkfontdir命令正常运行 yum install mkfontscale # 使fc-cache命令正常运行。如果提示 fc-cache: command not found yum install fontconfig
安装完毕后再执行重新第4步就可以使字体生效了
-
重新执行webkit2png的截图命令,截出来的图片就可以正常显示中文了