【问题标题】:Using wget and cron to download webpages使用 wget 和 cron 下载网页
【发布时间】:2010-11-18 11:14:44
【问题描述】:

好的,我知道我可以使用:

wget -r <website> > <file>

获取网页并保存。我的问题是,我如何使用 cron 和 wget 每小时甚至每分钟获取一个网页,然后将它们保存到一个文件夹中,压缩并压缩它,然后继续添加它以供日后查看.

我知道我可以手动执行此操作,我的目标是基本上每 10 到 20 分钟下载一次,大约 4 小时(如果时间更长也没关系)并将所有内容附加到一个不错的目录中,然后 zip 说目录以节省空间,并在当天晚些时候检查它们。

【问题讨论】:

  • 你能解释一下你的最终结果是什么吗?首先,-r 表示您想要保存多于一页 - 这是您想要的还是不想要的?如果是这样,你不应该说“网页”,而是“网页s”,只是为了清楚起见。我假设一页。所以你在上午 10 点、上午 11 点和下午 12 点下载一个页面 - 你想要什么 - 一组文件(wp-10am.htmwp-11am.htmwp-12pm.htm)或其他什么?
  • 有些东西,我第一次主要是在摆弄 wget,除了抓一些快速文件。
  • 我最想做的是定期抓取一个网页,并将其保存为 index.
  • victor hugo 刚刚回答了第一部分。下一部分是 gz/zip 它。

标签: linux cron wget tar


【解决方案1】:

编辑 cron 表

crontab -e

你可以像这样添加一个条目

0,20,40 * * * *  wget URL ~/files/file-`date > '+%m%d%y%H%M'`.html &

每 20 分钟下载/保存文件。

这是一个关于 crontab 表达式的small reference,因此您可以调整值

要自动 TAR 文件,crontab 会稍微复杂一些:

0,20,40 * * * *  wget URL > ~/files`date '+%m%d%y'`/file-`date '+%H%M'`.html &
* 12 * * *       tar cvf ~/archive-`date '+%m%d%y'`.tar ~/files`date '+%m%d%y'`

这将在中午进行,如果您想在半夜进行,则更复杂,因为您需要在前一天进行 TAR,但我认为您会明白这一点。

【讨论】:

  • 之前没注意,其实是0,20,40 * * * * wget URL > ~/files/file-date '+%m%d%y%H%M'.html & 错过了>,想知道为什么会这样'不工作:P
【解决方案2】:

或者没有 cron:

for i in `seq 1 10`; do wget -r http://google.de -P $(date +%k_%M) && sleep 600; done

10 次,每 10 分钟一次

编辑:像这样使用 zip

zip foo.zip file1 file2 allfile*.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    相关资源
    最近更新 更多