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/cutycaptcd cutycapt/CutyCaptqmakemake |
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
linux命令行抓取网页快照-(xvfb+CutyCapt)的更多相关文章
- linux命令行抓取网页快照
linux命令行抓取网页快照-(xvfb+CutyCapt) 目的: 在一台没有安装X-server的Debian服务器上实现命令行抓取网页快照 软件: xvfb(在命令行下实现对X-server ...
- Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析
在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析. 最近才发现,原来wire ...
- IEEE802.11数据帧在Linux上的抓取
IEEE802.11数据帧在Linux上的抓取终于得到了梦寐的<802.11无线网络权威指南>,虽然是复印版本,看起来也一样舒服,光看书是不行的,关键还是自己练习,这就需要搭建一个舒服的实 ...
- Linux使用tcpdump抓取网络数据包示例
tcpdump是Linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...
- 《Linux命令行与shell脚本编程大全 第3版》
第一部分 Linux 命令行 第1章 初识Linux she1.1 什么是Linux 21.1.1 深入探究Linux 内核 31.1.2 GNU 工具 61.1.3 Linux 桌面环境 81 ...
- Linux 命令行获取天气
目标: 使用 Linux 命令行显示天气预报. 发行版: 所有 Linux 发行版. 要求: 能连上因特网的 Linux 难度: 容易 约定: # - 需要使用 root 权限来执行指定命令,可以直接 ...
- 十五个最常用Linux命令行 - imsoft.cnblogs
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...
- 20个linux命令行工具监视性能(下)
昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...
- 黑客技术 —— Linux 命令行
很多和正则表达式 re 是一致的: 1. 修改上次执行的命令 删除多余部分: % grep fooo /var/log/auth.log % ^o % grep foo /var/log/auth.l ...
随机推荐
- 前端模块化开发篇之grunt&webpack篇
几个月前写了一篇有关gulp和browserify来做前端构建的博客,因为browserify用来做js的打包时可能有些麻烦(特别是在写React的时候),所以这里再强烈推荐一款js打包工具-webp ...
- poj 3237 Tree(树链剖分,线段树)
Tree Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 7268 Accepted: 1969 Description ...
- container_of宏剖析
container_of宏剖析//该宏位于include/linux/kernel.h 1.定义格式 /** * container_of - cast a member of a structure ...
- 《A First Course in Probability》-chaper5-连续型随机变量-随机变量函数的分布
在讨论连续型随机变量函数的分布时,我们从一般的情况中(讨论正态分布的文章中提及),能够得到简化版模型. 回忆利用分布函数和概率密度的关系求解随机变量函数分布的过程,有Y=g(x),如果g(x)是严格单 ...
- Oracle创建表空间、创建用户、授权用户、导入dmp备份语句
create tablespace TOPSCF_CHS_TS datafile 'D:\TableSpace\TOPSCF_CHS_TS.dbf' size 512M extent managem ...
- seq命令
seq 5 seq 5 >1.txt 其中的>是覆盖 seq 1 5 用来产生从数1到数5之间的所有整数 或, seq 5
- 1115 HTML CSS
1. HTML 全称HyperText Markup Language (超文本标记语言). 2. 网页=HTML文件 + Web服务器 + CSS文本. 3. Web服务器:处理浏览器请求,寻找资源 ...
- LigerUi中的Grid中不分页显示(local)!
LigerUi中的Grid中不分页显示! grid为local usePager: true, //是否分页
- Eclipse修改字体大小
1.MyEclipse|Window|General|Appearance|Colors and Fonts->点击Text Font->Edit
- (转)Spring整合Redis作为缓存
采用Redis作为Web系统的缓存.用Spring的Cache整合Redis. 一.关于redis的相关xml文件的写法 <?xml version="1.0" ...