linux命令行抓取网页快照

公司研发需求,在Centos下将页面快照成图片,通过谷歌查到cutycapt可以实现,进行了实验,效果还不错,整理下安装过程。

1.环境信息

系统:Centos6.6 x86_64

2.添加qt47的yum源

vim /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

3. 安装qt47:

yum -y install qt47 qt47-devel qt47-webkitqt47-webkit-devel

4. 安装cutycapt

网上大多说用svn从https://cutycapt.svn.sourceforge.net/svnroot/cutycapt直接checkout下来,我试了几次都不成功,无奈,直接打开网站手动下载下来,上传到服务器,好在文件不多,只有3个文件:

CutyCapt.cpp、CutyCapt.hpp、CutyCapt.pro

mkdir /app/CutyCapt  #将下载的文件上传到该目录
cd /app/CutyCapt/
qmake-qt47
make
cp CutyCapt /usr/local/bin/cutycapt

3. 安装xvfb

CutyCapt需要X服务才能运行,如果不装X服务直接运行会报错:

cutycapt: cannot connect to X server :0

可以安装轻量级的X服务Xvfb来运行CutyCapt

yum -y install xorg-x11-server-Xvfb

4. 测试

通过以下命令来获取网页快照

xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.51cto.com --out=51cto.png

如果嫌命令太长,可通过alias来解决:

alias cutycapt=‘xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt‘

这样就可以通过一下命令来获取快照:

cutycapt --url=http://www.51cto.com --out=51cto.png

5. 解决乱码问题

如果服务器上没有安装中文字体,获取的图片中会有乱码,可以安装中文字体解决,我是从windows下拷贝中文字体到服务器/usr/share/fonts/dejavu/目录下,然后也不会出现乱码。

时间: 2024-08-05 04:59:35

linux命令行抓取网页快照的相关文章

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 i

tcpdump教程 - 从命令行抓取和分析数据包

前言 在介绍和使用tcpdump之前,请确保您已经掌握或者了解如下几个关键概念,否则后面的内容让你有点痛苦. 能够在Linux命令行下工作 理解OSI七层网络协议的概念 熟悉各层的协议头部,重点是IP/TCP/UDP 交换机和路由器对应于OSI的协议层 另外还需要注意的是: tcpdump是基于Unix系统的命令行式的数据包嗅探工具.如果要使用tcpdump抓取其他主机MAC地址的数据包,必须开启网卡混杂模式,所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给

Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析

在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析. 最近才发现,原来wireshark也提供有Linux命令行工具-tshark.tshark不仅有抓包的功能,还带了解析各种协议的能力.下面我们以两个实例来介绍tshark工具.1.安装方法 CentOS: yum install -y wireshark    Ubuntu: apt-get install -y tsha

tcpdump 命令行抓包工具

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3898248.html 概述 tcpdump命令是Linux中的截包命令工具,强大且易于使用.tcpdump基于底层libpcap库开发,运行需要root权限. 基本使用与命令选项 例:截获主机收到和发出的所有数据包. 命令:tcpdump 说明: tcpdump截取包默认显示数据包的头部. 基础格式:时间 数据包类型 源

《Linux命令行与Shell脚本编程大全第2版.布卢姆》pdf

下载地址:网盘下载 内容简介  · · · · · · 本书是一本关于Linux 命令行与shell 脚本编程的全面教程.全书分为四部分:第一部分介绍Linuxshell 命令行:第二部分介绍shell 脚本编程基础:第三部分深入探讨shell 脚本编程的高级内容:第四部分介绍如何在现实环境中使用shell 脚本.本书不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料. 本书内容全面,语言简练,示例丰富,适合于linux 系统管理员及Linux 爱好者阅读

tcpdump命令行抓包(第一篇)

tcpdump可以获取流动在网卡上的数据 tcpdump [ -AdDefIKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ] [ -C file_size ] [ -G rotate_seconds ] [ -F file ] [ -i interface ] [ -m module ] [ -M secret ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount

《Linux命令行与shell脚本编程大全 第3版》

第一部分 Linux 命令行 第1章  初识Linux she1.1   什么是Linux 21.1.1 深入探究Linux 内核 31.1.2 GNU 工具 61.1.3 Linux 桌面环境 81.2   Linux 发行版 121.2.1 核心Linux 发行版 131.2.2 特定用途的Linux 发行版 131.2.3 Linux LiveCD 141.3   小结 15 第2章  走进shell2.1   进入命令行 162.1.1 控制台终端 172.1.2 图形化终端 172.2

Linux命令行翻译工具

一.背景 经常在linux命令行下有些单词不认识,复制出来通过翻译软件很不方便,如果有个命令行翻译就比较舒服了.通过下面shell脚本可以在/usr/bin/yd创建yd命令来进行快速命令行翻译. 二.代码 git地址 #!/bin/bash # # CMD=/usr/bin/yd cat >${CMD} <<EOF #!/bin/bash ARGS=1 E_BADARGS=1 TEM_FILE="/tmp/dict.tmp" example_enable=false

20个linux命令行工具监视性能(下)

昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给大家吧,第一次写博客,写的不是特别的好,希望大家不要介意,也希望大家觉得有什么不对的地方能够多多指教,毕竟小弟还是初学者.下面我们开始学习下面十个命令吧! 11,Monit –- Linux Process and Services Monitoring Monit  是一个免费开源并且基于web的进程监督实