Как я могу сделать полный снимок страницы веб-страницы из командной строки?

Я установил CutyCapt на свой Linode VPS и использовал его для создания скриншотов, выполнив следующую команду.

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

Работает отлично, как и ожидалось. Единственная проблема заключается в том, что если страницу можно прокручивать по вертикали (т. Е. Больше 768 по высоте)? В этом случае скриншот будет обрезан. Одно из возможных решений - взять большую высоту экрана (скажем, 2000), а затем убрать пустое пространство снизу. Но это не будет оптимальным решением.

Может кто-нибудь предложить мне лучшее решение?

3 ответа

Вот список приложений, которые вы можете использовать из терминала:

wkhtmltopdf - это утилита командной строки, которая конвертирует html в pdf с помощью движка рендеринга webkit.

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 - это утилита, которая делает снимок экрана 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 использует движок рендеринга 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 использует встроенные в Python привязки Mozilla ( 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.

Инструменты для создания скриншотов веб-страниц:

Gimp 2.8 имеет веб-страницу Create/From, очень простую в использовании, позволяет настраивать ширину страницы и размер шрифта (но только предопределенный выбор).

shutter (требуется gnome-web-photo), инструмент для создания скриншотов с графическим интерфейсом, который также поддерживает веб-страницы, кажется, не имеет большой возможности конфигурирования

gnome-web-photo, приложение командной строки, позволяет использовать таблицы стилей пользователя и устанавливать ширину страницы

webkit-image-gtk, приложение командной строки, тривиальное в использовании, без настройки вообще

webkit-image-qt, приложение командной строки, тривиальное в использовании, без настройки вообще

Пока не найдено ничего, что позволяло бы масштабировать, свободно контролировать размер шрифта или ограничивать скриншот определенным div. Возможно, Gimp можно автоматизировать с помощью скрипта-фу и пакетного режима.

Если вы хотите сделать снимок экрана с веб-страницей, то почему вы не используете "Аддон ScreenGrab"? Этот аддон может делать снимки экрана и даже выделенную область. Проверьте это здесь: https://addons.mozilla.org/en-US/firefox/addon/1146

Другие вопросы по тегам