如何从命令行截取网页的整页截图?

如何从命令行截取网页的整页截图?

我已经安装可爱队长在我的 Linode VPS 上,并通过以下命令使用它来生成屏幕截图。

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

一切正如预期的那样顺利。唯一的问题是,如果页面可以垂直滚动(即高度大于 768)怎么办?在这种情况下,屏幕截图将被截断。一个可能的解决方案是采用更长的屏幕高度(例如 2000),然后从底部删除空白。但这不是最佳解决方案。

有人可以建议我一个更好的解决方案吗?

答案1

以下是您可以从终端使用的应用程序列表:

wkhtmltopdf 是一个命令行实用程序,它使用 webkit 渲染引擎将 html 转换为 pdf。

sudo apt-get install wkhtmltopdf

wkhtmltoimage 实用程序将截取给定 URL 的屏幕截图,并将其保存为 png 图像。它使用 webkit 渲染引擎。

下载 : http://code.google.com/p/wkhtmltopdf/downloads/list

用法 :

要使用 wkthmltoimage 实用程序,只需从终端运行命令,提供图像文件的 URL 和名称。

$ ./wkhtmltoimage-amd64 http://www.google.com google.png

它将在主目录中创建 google.png,其中包含 www.google.com 的屏幕截图

其他选择:

wkhtmltoimage 提供了很多选项来自定义截图,下面是一些示例:

质量 - 控制生成图像的质量/压缩。默认值为 94

$ ./wkhtmltoimage-amd64 --quality 50 http://www.google.com google.png

禁用图像

$ ./wkhtmltoimage-amd64 --no-images http://www.google.com google.png

禁用 JavaScript

$ ./wkhtmltoimage-amd64 --disable-javascript http://www.google.com google.png

裁剪屏幕截图

$ ./wkhtmltoimage-amd64 --crop-h 300 --crop-w 300 --crop-x 0 --crop-y 0 http://www.google.com googl

Cutycapt 是一个实用程序,使用 webkit 渲染引擎截取 URL 的屏幕截图并将其保存为图像文件。

安装

sudo apt-get install subversion libqt4-webkit libqt4-dev g++ cutycapt

用法 要使用 cutycapt,只需从终端运行命令,提供输出文件的 url 和名称。

$ cutycapt --url=http://www.google.com/ --out=google.png

它将在主目录中创建 google.png 文件,其中包含 www.google.com 的屏幕截图

khtml2png 使用 konqueror 渲染引擎来创建网页截图。

下载

http://khtml2png.sourceforge.net/index.php?page=download

安装

要安装 khtml2png,必须在系统上编译并构建该程序。

sudo apt-get install kdelibs4-dev zlib1g-dev g++ cmake
Extract the khtml2png archive.
./configure
make
sudo checkinstall (this will create a deb file and install it , so that it can easily uninstalled later)

用法 要使用 khtml2png,请从命令行运行程序,提供 url 和其他选项。

$ khtml2png2 --width 800 --height 600 http://www.google.com/ google.png

这将在主目录中创建一个 google.png,其中包含 www.google.com 的屏幕截图。

Pywebshot 使用嵌入 mozilla 的 Python 绑定(http://www.mozilla.org/unix/gtk-embedding.html

安装

sudo apt-get install python-gtkmozembed

Download pywebshot from https://github.com/coderholic/PyWebShot

用法 :

$ python pywebshot.py www.google.com -t 1024x768&lt;br /&gt;<br />Loading www.google.com... saved as www.google.com.png

它应该在目录中创建一个 www.google.com.png,其中包含尺寸为 1024 x 768 的屏幕截图。

答案2

网页截图工具:

Gimp 2.8 具有创建/从网页功能,非常易于使用,允许配置页面宽度和字体大小(但只能进行预定义的选择)。

shutter(需要 gnome-web-photo),一个支持网页的 GUI 截图工具,似乎没有太多的可配置性

gnome-web-photo,命令行应用程序,允许用户使用样式表和设置页面宽度

webkit-image-gtk,命令行应用程序,使用简单,无需任何配置

webkit-image-qt,命令行应用程序,使用简单,无需任何配置

尚未发现任何可以缩放、自由控制字体大小或将屏幕截图限制到特定 div 的功能。Gimp 可能可以通过使用 script-fu 和批处理模式实现自动化。

答案3

如果您想截取网页的屏幕截图,那么为什么不使用“ScreenGrab 插件”呢?此插件可以截取整个屏幕的屏幕截图,甚至可以截取选定区域的屏幕截图。请在此处查看: https://addons.mozilla.org/en-US/firefox/addon/1146

相关内容