Как я могу сделать полный снимок страницы веб-страницы из командной строки?
Я установил CutyCapt на свой Linode VPS и использовал его для создания скриншотов, выполнив следующую команду.
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.google.com --out=example.png
Работает отлично, как и ожидалось. Единственная проблема заключается в том, что если страницу можно прокручивать по вертикали (т. Е. Больше 768 по высоте)? В этом случае скриншот будет обрезан. Одно из возможных решений - взять большую высоту экрана (скажем, 2000), а затем убрать пустое пространство снизу. Но это не будет оптимальным решением.
Может кто-нибудь предложить мне лучшее решение?
3 ответа
Вот список приложений, которые вы можете использовать из терминала:
- wkhtmltopdf (источник)
wkhtmltopdf - это утилита командной строки, которая конвертирует html в pdf с помощью движка рендеринга webkit.
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
Это создаст 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 (источник)
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
Это приведет к созданию google.png в домашнем каталоге со скриншотом www.google.com.
- PyWebShot (источник)
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<br /><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