linux命令行抓取网页快照-(xvfb+CutyCapt)
目的:
在一台没有安装X-server的Debian服务器上实现命令行抓取网页快照
软件:
- xvfb(在命令行下实现对X-server的模拟,渲染图形进行缓存)-在没有安装X-Server的环境下提供图像渲染
- CutyCapt(模拟浏览器对网页进行下载、HTML、css渲染、Javascript执行,并将最终渲染完成的网页进行快照)- 主力干将
- Qt(CutyCapt是基于此框架开发的)
实践:
1.安装CutyCapt、Qt及相关软件包:
1 2 3 4 5 | sudo apt-get install subversion libqt4-webkit libqt4-dev g++ svn co https: //cutycapt .svn.sourceforge.net /svnroot/cutycapt cd cutycapt /CutyCapt qmake make |
2.安装xvfb:
1 | apt-get install xvfb |
3.抓取测试:
1 | xvfb-run --server-args= "-screen 0, 1024x768x24" . /CutyCapt --url=http: //www .zol.com.cn --out=zol.png |
发现抓到的中文网页时乱码:
4.折腾了半天,原来是没有安装中文字体,安装中文字体,再抓~~
总结:
基本实现了通过linux命令行实现网页快照抓取的功能,但是CutyCapt对Javascript的解析能力还是有限,从上图可以看出通过swfobject加载的flash都没有被渲染出来。以后有空会尝试用Firefox直接做渲染抓取。
参考链接:
http://cutycapt.sourceforge.net/ http://www.x.org/archive/X11R6.8.2/doc/Xvfb.1.html http://www.yeeach.com/tag/screenshot/ http://hi.baidu.com/pkubuntu/blog/item/7dcc064ff0246a3eaec3abe2.html http://qt.nokia.com/ http://en.wikipedia.org/wiki/Xvfb
安装中文字体:http://hi.baidu.com/spiritualcity/blog/item/96369c2afa8740fde6cd40d2.html Linux中文内码控制方案:http://zhcon.sourceforge.net/index_cn.html
<!-- .entry-content -->
相关推荐
吹云 2020-11-05
84407805 2020-11-01
曾是土木人 2020-10-31
87201442 2020-10-15
java0 2020-09-29
81437716 2020-09-18
81437716 2020-09-13
bluecarrot 2020-09-11
myCat 2020-09-09
83427718 2020-09-07
85560694 2020-09-03
89520991 2020-08-21
89550191 2020-08-09
katie000 2020-08-04
hunningtu 2020-07-30
89961330 2020-07-28
yuzhongdelei0 2020-07-28
yuzhongdelei0 2020-07-27