wget - 如何下载仅包含" 480p"的所有文件从http服务器使用wget?

时间:2016-11-15 10:49:08

标签: shell wget

我想从http服务器下载所有文件,例如: http://dl.mysite.com/files/ 我也想进入该文件夹内的每个文件夹。 但我确实只想下载那些有" 480p"以他们的名义。

使用wget的最简单的解决方案是什么?

编辑:

我想让这个脚本每天凌晨2点到早上6点运行,将这些文件从该服务器同步到我的电脑。

1 个答案:

答案 0 :(得分:0)

以下wget命令应使用以下标志:

wget -A "*480p*" -r -np -nc --no-check-certificate -e robots=off http://dl.mysite.com/files/

说明:

-A 480p ”你的模式

-r, recursively以递归方式浏览文件夹

-np, --no-parent忽略指向更高目录的链接

-nc, --no-clobber如果文件在同一目录中多次下载,Wget的行为取决于几个选项,包括'-nc'。在某些情况下,重复下载后,本地文件将被破坏或覆盖。在其他情况下,它将被保留。

--no-check-certificate不要根据可用的证书颁发机构检查服务器证书。

-e, --execute command这样调用的命令将在 .wgetrc

中的命令之后执行

robots=off机器人排除

有关wget标志的更多信息,请参阅官方GNU手册页:https://www.gnu.org/software/wget/manual/wget.html

关于每天运行一次,您可能想要阅读Cron个工作。摘自文档页面:https://help.ubuntu.com/community/CronHowto

  

crontab文件是一个简单的文本文件,其中包含要在指定时间运行的命令列表。它使用crontab命令进行编辑。 crontab文件中的命令(及其运行时间)由cron守护程序检查,后者在系统后台执行它们。

所以基本上你需要把你的wget命令放到一个文件中,并设置cron在指定的时间运行这个文件。

注意:Windows没有Cron的本机实现,但您可以使用 Windows任务计划程序实现相同的效果。