1. 下载网站快照

1. 下载网站快照

作为 Ubuntu 新手,我如何获取网页的每日快照?该页面需要登录,然后显示一堆我感兴趣的数字。

我可以编写一个脚本来解决这个问题吗?

(我正在等待大学宿舍的入住,想密切关注进展情况。这里有一长串每日更新的信息,我想把它存储在一个可以轻松翻阅的地方。)

编辑: 所以我使用了 Rinzwind 的脚本并做了一些自己的研究;以下是我目前所得到的:

    #!/bin/bash
   filename="kkik"
   url="https://www.kollegierneskontor.dk/default.aspx?func=kkikportal.housingrequests&lang=GB"
   date=` date +%d%m%Y`
   output="$filename-$date.html"
   wget --save-cookies cookies.txt --post-data 'Page_ctl05_Main_ctl04_form_loginUserName=*****&Page$ctl05$Main$ctl04$form$loginPassword=******'
   wget  --load-cookies cookies.txt  $url -O $output

它成功下载了“你没有权限”页面(如果我取出 cookies 并发布内容,它会给我一个“您需要登录”页面有所不同)。我是否遗漏了什么明显的内容?它看起来不像是一个过于复杂的网站。

我确信如果我能让脚本运行,我就会弄清楚如何用它完成 Cron 作业。

答案1

1. 下载网站快照

您可以使用一些简单的命令下载页面。每次都需要登录吗?这可能需要一些额外的编码,但这是一个下载网站(并在下载后附加日期)的通用脚本

   #!/bin/bash
   filename="askubuntu"
   url="www.askubuntu.com"
   date=` date +%d%m%Y`
   output="$filename-$date.html"
   wget $url -O $output

结果:

im1

askubuntu-210611.html 可以使用浏览器或文本查看器(如)查看gedit。甚至可以修改它以添加一些sed/grep命令来过滤结果中的所有内容,然后仅保存所需的数据。例如,可以轻松地将数据添加到 libreoffice calc。

如果将其添加到cron脚本中,您可以让它每 x 分钟/小时执行一次。

2. 制作多个网站截图

快门 安装百叶窗可以使用命令行制作图像

   shutter --window=.*firefox.*

这将截取名为 Firefox 的实例的屏幕截图,并以新名称将其保存在您保存快门屏幕截图的文件夹中。将其添加到脚本中,并让其每次执行一次,您就可以获得网站的屏幕截图。只要您使用类似插件刷新页面刷新间隔您已准备就绪。

快门还可以使屏幕的一部分成像

    shutter -s=100,100,300,300 -e

或者捕获网站的屏幕截图(如果您每次都需要登录,则可能对您没有用):

    shutter --web=[URL]

答案2

不确定这是否是适合您的解决方案,因为它不能满足您的所有要求。但是,使用 ScrapBook Firefox 扩展,您可以轻松创建网站快照。每次您抓取快照时,它都会在按日期排序的列表中创建一个条目,您可以轻松返回查看任何版本。

因为您需要登录网站,所以 ScrapBook 扩展非常棒,因为您可以先登录,然后以登录用户的身份拍摄快照。

它唯一不能做的是自动快照,因为您需要导航到站点并手动保存快照。

希望这可以帮助。

答案3

@joon 我想你需要工具

Xdotool 可让您模拟键盘输入和鼠标活动、移动和调整窗口大小等等。检查一下。有了它,您可以以经典的“gui”风格进行身份验证,然后您的代码可以截取屏幕截图等等……我希望这对您有所帮助。

相关内容