linux命令行抓取网页快照-(xvfb+CutyCapt)

linux命令行抓取网页快照-(xvfb+CutyCapt)
又一个 WordPress 博客
Browse: Home / 2009 / 十一月 / linux命令行抓取网页快照-(xvfb+CutyCapt)
linux命令行抓取网页快照-(xvfb+CutyCapt)

By saymoon on 2009年11月13日
目的:

在一台没有安装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

Posted in linux | Tagged cutycapt, debian, xvfb, 快照 | 12 Responses
12 responses to “linux命令行抓取网页快照-(xvfb+CutyCapt)”

bill
bill 2009年12月3日 at 12:58 上午 | Permalink

sudo apt-get install subversion libqt4-webkit libqt4-dev g++
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
cd cutycapt/CutyCapt
qmake
make

为什么我执行这个的时候。前两行都不能正确执行呢。我通过下载的方式下载了cutycapt,解压后运行make 也会报很多错。。请指教!
bill
bill 2009年12月3日 at 1:00 上午 | Permalink

Google搜到一个网页,也是我这样的错误。但是没看到有好的解决方法。我QT也安装了。gcc也都装了。
bill
bill 2009年12月3日 at 1:02 上午 | Permalink

因为没有成功安装Cutycapt,所以执行 xvfb-run –server-args=”-screen 0, 1024x768x24″ ./CutyCapt –url=http://www.google.com –out=example.png 后,也无法正确得到结果。困扰了我一天了。望指教!
bill
bill 2009年12月8日 at 8:09 下午 | Permalink

自己弄好了。呵呵。就差安装中文字体了
bill
bill 2009年12月8日 at 11:08 下午 | Permalink

对了,那个控制尺寸的,是不是不好用?
screen 0, 1024x768x24

无论改成什么,抓到的都是那个页面实际大小
Charly
Charly 2010年01月5日 at 1:39 上午 | Permalink

生成了一个空白图,昨回事呢?
timberland
timberland 2010年02月19日 at 1:19 上午 | Permalink

嘿嘿。。。
我又來了。。。
前來看望問候博主。。。
欣賞博主精文。。。
祝健康、幸福、快樂。。。
期待博主新作!。。。
在线网页截图实现技术 | Hi Java!
在线网页截图实现技术 | Hi Java! 2010年04月20日 at 4:29 上午 | Permalink

[...] http://blog.saymoon.com/2009/11/take-snapshot-in-linux-command-line/ [...]
bill
bill 2010年07月12日 at 7:52 下午 | Permalink

好端端的突然又不好用了。生成的都是空白页。。诡异啊!
道茶
道茶 2010年10月9日 at 8:24 上午 | Permalink

我连空白页面都没有
/usr/local/bin/xvfb-run: line 168: 23696 Segmentation fault DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE “$@” 2>&1

只有这个错误
daniel
daniel 2011年09月14日 at 11:50 下午 | Permalink

WIN2003里也乱码,怎么办?
oscar
oscar 2011年10月8日 at 11:56 下午 | Permalink

谢谢楼主,测试成功,不过
2.安装xvfb:不能自动成功

apt-get install xvfb

最后在http://packages.debian.org/zh-cn/lenny/xvfb
下载xvfb包 就可以了


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php过waf木马,一款过waf的一句话木马分析 | CN-SEC 中文网

摘要中午,下班回来,就看一个朋友给我发了几个马儿 让我看看解解密码 很简单中午,下班回来,就看一个朋友给我发了几个马儿 让我看看解解密码 很简单猛不猛我不知道 那时候手机 太长的看着就烦 就回到家瞅瞅了首先我们看这…

你没干什么坏事,你怕什么?

如图我很久就知道深信服这家企业,记得是几年前,我有一个同学跟我说,有一个比较厉害的朋友在这个企业上班,拿到了非常不错的薪水,我如果想去这个公司看看,可以让这位朋友帮忙搭线。后面查这个企业&#xff0…

python用循环打出阶梯图形,matplotlib阶梯图的实现(step())

step函数概述step函数用于绘制阶梯图。根据源码可知,step函数是对plot函数的轻量级封装,很多概念和用法与plot函数非常相似。def step(self, x, y, *args, wherepre, dataNone, **kwargs):cbook._check_in_list((pre, post, mid), wherewhere)kwargs[dra…

嵌入式还有哪些风口值得入?

大家好,我是写代码的篮球球痴前两天发了篇文章说到嵌入式薪资的,很多人想知道目前有哪些不错的行业可以加入,这篇文章罗列了很多风口行业。我相信,半导体芯片会是很重要的方向,但是不管路修得多好,都需要汽…

java 统计单词个数和标点符号

把随机输入的一句话比如:Its only a test!存放在一个char[]的数组中,统计char[]中的单词个数和标点符号的个数。 package com.faintbear; import java.io.*; publicclassTest{ public static void main(String[] args) throws Exception{ BufferedReade…

Luogu 4244 [SHOI2008]仙人掌图

BZOJ 1023 如果我们把所有的环都缩成一个点,那么整张图就变成了一棵树,我们可以直接$dp$算出树的直径。 设$f_x$表示$x$的子树中最长链的长度,那么对于$x$的每一个儿子$y$,先用$f_x f_y 1$更新答案,再用$f_y 1$更新…

outlook 2007 自动答复邮件

outlook 2007自动答复邮件 步骤 1:创建邮件模板 提示 从 Microsoft Office Online 下载正式(英文)或者非正式(英文)外出邮件模板。 在“文件”菜单上,指向“新建”,然后单击“邮件”。在“选项…

我的朋友去国外出差回不来了

年前,我一个朋友因为项目调试需要去国外出差,出国的时候好好的,然后飞到当地没几天疫情突然爆发,国内取消了那个国家的航班,然后就直接滞留在当地回不来了。我朋友从事的是硬件开发,包括器件选型、原理图设…

JDBCUtils

1 package database;2 3 import java.sql.Connection;4 import java.sql.DriverManager;5 import java.sql.ResultSet;6 import java.sql.SQLException;7 import java.sql.Statement;8 9 /** 10 * <p> 11 * Description:JDBCUtils工具类 12 * </p> 13 * 14 *…

很不错的Windows 控件 Developer Express Inc.NET

这个是我用 Developer Express Inc.NET 做的小东东&#xff01;很漂亮哦&#xff5e;&#xff01;文件太大了没办法上传&#xff0c;喜欢的可以去 http://www.dnc.com.cn 下载 还有注册机哦&#xff01; 转载于:https://www.cnblogs.com/xnet/archive/2005/12/21/301768.html

助你成为嵌入式高手的100多个软硬件开源项目

大家好&#xff0c;转发一个朋友总结的资料文章&#xff0c;内容如下大家好&#xff0c;我是老温&#xff0c;今天给大家推荐一个嵌入式开源项目汇总的仓库。学习初期最难找的就是找学习资料了&#xff0c;本贴精心汇总了一些嵌入式相关资源&#xff0c;包括但不限于编程语言、…

没有mmu可以跑Linux吗?

为什么需要mmu?我们知道应用程序是不能随意访问内存的&#xff0c;如果让应用程序直接访问物理内存&#xff0c;那么计算机是很危险的&#xff0c;计算机内存的所有内容将被完全暴露出来。所以出现了mmu&#xff0c;mmu是内存管理单元&#xff0c;应用程序访问的是虚拟内存&am…

pC机OracLe库磁盘坏如何恢复,电脑硬盘坏了数据能恢复吗(6步教你自己在家轻松恢复数据)...

电脑硬盘毁坏如何恢复数据有过硬盘损坏经历的用户都知道&#xff0c;硬盘损坏其最严重的结果就是导致其中存储的文件难以读取&#xff0c;包括无法复制&#xff0c;无法移动。通常来说&#xff0c;具体的表现形式是复制文件或者传输文件的时候&#xff0c;耗费很长的时间都无法…

又重新让aspspider.net支持中文PDF输出了

经过一番努力&#xff0c;再次看到中文PDF的输出&#xff1b;aspspider.net经过这次更新后&#xff0c;不知道什么原因&#xff0c;使用BaseFont.AddToResourceSearch(MapPath(".\itextsharpasian\") "iTextAsian-1.0.dll");的方法就是不能把iTextAsian-1.…

My new iMac 27

iMac 27 12GB Memory. 用来贴补家用&#xff0c;有需要开发项目的可以与我联系 asp.net、组件开发 ,java,javascript,xml/xslt,objective-c 什么都行. 目前上架产品包括&#xff1a;少儿有声阅读系列《单刀会》《白蛇传》《空城记》&#xff0c;新闻阅读有 “辽宁日报” “辽宁…

从没想过会有一个这样的机会|大疆招聘

我是昨晚才知道&#xff0c;年前有一个读者一直在找工作最近准备入职大疆&#xff0c;之前我也有给他推荐了机会&#xff0c;不过都没有合适的。昨晚突然给我发消息说拿到了大疆的岗位&#xff0c;待遇和职位都是自己喜欢的。我的微信好友有好几个大疆的同学&#xff0c;刚好昨…

Google Earth 和MS Virtual Earth:虚拟地球简介

自从Goal在98年提出数字地球&#xff08;Digital Earth&#xff09;之后&#xff0c;全球掀起了数字地球热&#xff0c;而随着Goal的竞选总统的失利和当时科学技术和硬件水平的限制&#xff0c;数字地球一直处于慢慢发展状态。其中它涉及到很多学科包括地理对象的描述、存储、建…

转些别人收集的歌

2019独角兽企业重金招聘Python工程师标准>>> 【Anaesthesia】Maximilian Hecker强烈推荐 【Summer Days In Bloom】Maximilian Hecker力推&#xff01; 【end of May】Keren Ann 【gotta have you】The Weepies调调很特别&#xff0c;我用它做过背景音乐。 …

Linux社区关于链表的bug讨论我们要看一下

最近在Linux社区看到一个关于内核链表的讨论原文讨论链接&#xff1a;https://lwn.net/SubscriberLink/885941/01fdc39df2ecc25f/先用例子说明怎么使用内核链表list.h/* SPDX-License-Identifier: GPL-2.0 */ #ifndef LIST_H #define LIST_H/** Copied from include/linux/...*…

多图上传乱序php,discuz图片顺序混乱解决方案_php技巧

说明discuz在发表帖子的时候&#xff0c;添加多张图片&#xff0c;然后直接发表帖子&#xff0c;图片顺序有时候会乱掉即使上传图片窗口中图片顺序正确&#xff0c;发布之后还是会乱掉分析看url&#xff0c;程序代码中看不出什么将图片名改为序号上传&#xff0c;顺序乱了&…