是否定时对网页进行截图?

是否定时对网页进行截图?

我需要一种方法来刷新某个网页并大约每 5 分钟截取一次屏幕截图。我是 Ubuntu 新手,但愿意使用终端等。如果给出步骤,我以前用过,我只是不知道如何编写自己的脚本。

理想情况下,我会打开网页,然后页面会每 5 分钟刷新一次并截取一次屏幕截图。有什么帮助吗?

答案1

截图应用程序‘shutter’有您正在寻找的东西。

在终端中,执行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后输入您选择的名称,它将在后台永远继续运行。AltF2

要将文件保存到其他地方或使用特殊名称,您可以将标志添加--output到 shutter 命令(在 -e! 之前)。因此,请将该行更改为如下所示的内容:

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

这会保存到主文件夹中名为 Shots(必须存在!)的文件夹,并根据给定的时间和日期命名文件。

或者,您可以打开快门并导航到“编辑”>“首选项”,然后在那里选择您想要保存的目录。

在此处输入图片描述

今天的谷歌涂鸦截图如下这里。

答案2

笔记:我还没有尝试过,但你可以使用类似 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

答案3

我曾经写过一个脚本,每分钟拍摄一次屏幕照片并上传。我尝试在这里为你创建类似的东西。正如 Mordoc 提到的,你可以使用阴囊 安装 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 中输入后有一个空行。文件的最后一行会被忽略,因此您的命令后需要一个空行)。

好吧,我希望这篇长文能有所帮助!也许有不使用命令行的方法,但你得四处看看。

答案4

尝试一下这个工具:http://www.domdigger.com/ 它不是每 5 分钟一次,但如果一小时的间隔对您来说足够了,那么它就非常适合您的需求。

相关内容