如何从命令行获取网页的整页屏幕截图?
我在我的Linode VPS上安装了CutyCapt ,并使用它通过以下命令生成屏幕截图。
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.google.com --out=example.png
它按预期工作得很好。 如果页面可以垂直滚动(即高度大于768),唯一的问题是什么? 在这种情况下,屏幕截图将被切断。 一种可能的解决方案是采用更长的屏幕高度(例如,2000),然后从底部移除空白区域。 但这不是最佳解决方案。
有人可以建议我更好的解决方案吗?
这里是您可以从终端使用的应用程序列表:
- wkhtmltopdf (来源)
wkhtmltopdf是一个命令行实用程序,它使用webkit呈现引擎将html转换为pdf。
sudo apt-get install wkhtmltopdf
- wkhtmltoimage (来源)
wkhtmltoimage实用程序将获取给定URL的屏幕截图,并将其另存为png图像。 它使用webkit呈现引擎。
下载: http : //code.google.com/p/wkhtmltopdf/downloads/list
用法:
要使用wkthmltoimage实用程序,只需从终端运行命令,给出URL和图像文件的名称。
$ ./wkhtmltoimage-amd64 http://www.google.com google.png
它将使用www.google.com的屏幕截图在主目录中创建google.png
其他选择:
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 (来源)
Cutycapt是一个实用程序,用于获取URL的屏幕截图,使用webkit呈现引擎并将其保存到图像文件。
安装
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 (来源)
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
这将在主目录中创建一个带有www.google.com屏幕截图的google.png。
- PyWebShot (来源)
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<br />
Loading www.google.com... saved as www.google.com.png
它应该在目录中创建一个www.google.com.png,其屏幕截图大小为1024 x 768。
用于创建网页屏幕截图的工具:
Gimp 2.8具有Create / From网页,非常易于使用,允许配置页面宽度和字体大小(但只有预定义的选择)。
快门(需要gnome-web-photo),一个也支持网页的GUI截图工具,似乎没有太多的可配置性
gnome-web-photo,命令行应用程序,允许用户样式表和设置页面宽度
webkit-image-gtk,命令行应用程序,使用起来很简单,根本没有配置
webkit-image-qt,命令行应用程序,使用起来很简单,根本没有配置
尚未找到任何允许缩放,自由控制字体大小或将屏幕截图限制为特定div的内容。 Gimp可以通过使用script-fu和批处理模式自动化。
如果你想截取一个网页的截图,那你为什么不使用“ScreenGrab插件”? 这个插件可以拍摄填充屏幕截图,甚至是选定区域。 请在此处查看: https : //addons.mozilla.org/en-US/firefox/addon/1146