Захватить веб-страницу с помощью cutycapt или PhantomJs?
Я хочу автоматически сделать скриншот из моего веб-сайта с помощью crontab. Я установил cutycapt на моем сервере. Но я получаю эту ошибку при запуске:
Мой вопрос:
- Что не так с этой ошибкой?
- Как лучше всего сделать снимок экрана моей веб-страницы, cutycapt или phantomjs?
- Что нужно для использования cutycapt или phantomjs? Я не понимаю, как работает cutycapt или phantomjs.
Буду благодарен, если найдется кто-нибудь, кто сможет мне это объяснить. Благодарю.
2 ответа
Чтобы заставить его работать в "безголовой" среде, я использовал xvfb, я уже установил xserver, но я не верю, что это необходимо. Я не намеренно устанавливал фантомы, но это может быть зависимость.
sudo apt-get install xvfb cutycapt
Затем я запустил cutycapt в кадровом буфере xvfb и отправил несколько аргументов. Это взято со страницы использования кузницы исходного кода cutycapt.
xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt --url=website.com --out=image.png
Я также написал небольшой сценарий, чтобы сделать его еще проще. Он спрашивает, какую страницу загрузить. сохраняет его как URL-адрес
#!/bin/bash
echo what is the website you would like to grab?
read url
echo grabbing $url please wait...
xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt --url=$url --out=$url.png
echo done, image is $url.png
Сообщение об ошибке означает, что CutyCapt нужен работающий X-сервер. PhantomJS 2.x безголовый, ему не нужен запущенный X-сервер.