Сделать скриншот веб-страницы с интервалами?

Мне нужен способ обновить определенную веб-страницу и делать снимок экрана примерно каждые 5 минут. Я новичок в Ubuntu, но готов использовать терминал и т. Д. Если даны шаги, я использовал его раньше, я просто не знаю, как писать собственные сценарии.

В идеале, у меня была бы открытая веб-страница, и страница обновлялась бы и делала снимок экрана каждые 5 минут. Любая помощь с этим?

2
задан 23 May 2012 в 11:44

4 ответа

Скриншот приложения «Затвор» имеет то, что вы ищете.

В терминале выполните sudo apt-get install shutter

. Нет никакого GUI-способа делать это каждые пять минут с помощью шторки, но мы можем сделать это с помощью командной строки.

Скопируйте следующее в gedit:

 #! /bin/bash
 while true; do
     shutter --web='WWW-HERE' -e
     sleep 5m
 done

Замените WWW-HERE на адрес, который вы хотели бы сделать скриншот. Теперь сохраните его в своей домашней папке с именем, которое вы можете вспомнить и хотите назвать его.

Откройте терминал и выполните chmod +x FILE, а затем sudo cp FILE /usr/local/bin Не забывая заменить FILE на выбранное вами имя.

Теперь вы можете открыть терминал и набрать имя файла, которое вы выбрали, чтобы запускать его, снимая экран каждые пять минут. Чтобы остановить его, нажмите Ctrl + C на клавиатуре. Если вы хотите, чтобы оно продолжалось до тех пор, пока вы не выйдете из системы, вы можете просто ввести выбранное имя после нажатия Alt + F2 , и оно будет работать вечно в фоновом режиме. 1114]

Чтобы сохранить файлы в другом месте или со специальным именем, вы можете добавить флаг --output к команде затвора (перед -e!). Поэтому измените эту строку, например, следующим образом:

shutter --web='WWW-HERE' --output='~/Shots/Web%Y%m%d%T' -e

Это сохранит в папку с именем «Снимки (должна существовать!)» В вашей домашней папке, и назовите файл с указанием времени и даты.

В качестве альтернативы вы можете открыть затвор и перейти в «Правка»> «Настройки» и выбрать каталог там, где вы хотите сохранить.

enter image description here

Примером скриншота сегодняшнего каракуля Google является здесь.

0
ответ дан 23 May 2012 в 11:44

У меня когда-то был сценарий, чтобы делать фотографию моего экрана каждую минуту и загружать его. Я попытался создать что-то подобное для Вас здесь. Как упомянутый Mordoc, можно использовать scrot Install scrot. Вы будете иметь к sudo apt-get install scrot сначала.

Вот сценарий. Строки, запускающиеся с "#", являются комментариями, таким образом, я буду использовать их, чтобы попытаться объяснить это:

#!/bin/bash
# ^This first line just tells linux which script language to use.
#  We're using bash

# Because this script runs as a Cron-job, it runs as root and doesn't
# necessarily know which user you're logged in as.  For me, this says "use
# the default display, ie the first person logged in on the computer"
DISPLAY=:0
HOME=/home/vose
export DISPLAY
export HOME

# Create the screenshots directory in case it doesn't exist yet
mkdir -p /home/vose/Pictures/Screenshots/

# Delete any screenshots more than 7 days old.
find /home/vose/Pictures/Screenshots/ -type f -mtime +7 -delete

# Launch the browser (I use firefox for normal, so I'll use chrome for this)
# The "sudo -u vose ..." means "run the command as user `vose`".  You'll
# You'll need to put your username in there...
# The "&" at the end means 'launch in the background', so the script
# can keep going.
echo "Opening the browser"
sudo -u vose chromium-browser http://google.com &

# This records the ProcessID (pid) of the last opened program
# (chromium) so we can kill it later
pid=$!

# Wait 10 seconds for the browser to open and page to load
# On a slow computer/connection/webpage you may need to wait longer
sleep 10

# Take the screenshot using scrot.  Save it to this file
scrot /home/vose/Pictures/Screenshots/screenshot_`date +%F-%H-%M-%S`.jpg
echo "Created screenshot_`date +%F-%H-%M-%S`.jpg"

# Kill the browser
kill $pid

Перед попыткой, заходят слишком далеко, останавливаются и видят, работает ли это.

  1. Во-первых, сохраните сценарий выше как takeScreenshot.sh.

  2. Затем от терминала, ввести chmod +x takeScreenshot.sh (Chmod изменяет полномочия на файле, и '+x' означает, что мы даем ему разрешение "выполнить" сценарий.)

  3. Выполненный ./takeScreenshot.sh из командной строки - это запустит скрипт вручную. Посмотрите, обнаруживается ли файл в Вашей папке изображений после выполнения этого.

  4. Если бы это работало, то мы должны теперь добавить его к Крону.

В командной строке ввести sudo crontab -e. (Если это спрашивает Вас, которые редактор, выберите Nano. Если Вы не использовали его прежде, расспросите тут и там для некоторой справки).

В файле Вы хотите добавить строку внизу, как это:

# m h  dom mon dow   command
*/5 * * * * /home/vose/Scripts/takeScreenshot.sh

Что это говорит:

  • Каждые 5 минут
  • Каждый час, каждый день месяца, каждый месяц, каждый день недели
  • Выполненный "/home/vose/Scripts/takeScreenshot.sh"

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

Ну, я надеюсь, что это длинное сообщение помогает! Могли бы быть способы сделать это без командной строки, но необходимо будет озираться.

0
ответ дан 23 May 2012 в 11:44

Дайте попытке этот инструмент: http://www.domdigger.com/, который Это не каждые 5 минут, но если одночасовой интервал достаточно для Вас, это идеально подходит для Ваших потребностей.

0
ответ дан 23 May 2012 в 11:44

Примечание : я не пробовал этого, но вы могли бы использовать что-то вроде scrot (чтобы сделать снимок экрана) и команду «at», чтобы добиться цели. Вот два ресурса, которые могут быть полезны:

Скриншоты с терминала: http://tips.webdesign10.com/how-to-take-a-screenshot-with-ubuntu-linux

Использование команды «at»: http://www.ibm.com/developerworks/linux/library/l-job-scheduling/index.html

0
ответ дан 23 May 2012 в 11:44

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

Похожие вопросы: