![有选择地从网络源下载文件](https://linux22.com/image/1112563/%E6%9C%89%E9%80%89%E6%8B%A9%E5%9C%B0%E4%BB%8E%E7%BD%91%E7%BB%9C%E6%BA%90%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6.png)
如果有人听说过 Bukkit,您就会知道它们的文件通常分为三种类型:开发、测试和发布。单击 (这里) 作为示例。我需要一个脚本:
- 循环遍历目录
- 获取最新稳定的版本(可能就像查看版本号一样简单,因为它们有一个简单的命名约定,每个稳定版本都以 -Rx.0 结尾,而开发版本和测试版本以 -Rx.x 结尾)
之后我知道我需要使用wget
它来下载文件。
注意:如果你只是要发布代码,至少告诉我它的作用,以便我以后需要时可以使用它
答案1
脚本的主要任务是确定应该解析哪些链接wget
。解析网页确实很复杂。我不建议bash
这样做!
相比之下,Python 更容易编写,并且有一个强大的 HTML 解析库,名为美丽汤。
一旦“补充”了链接,下载就很简单了。
答案2
我花了一些时间才弄清楚,但现在就是如此 ;)
-c,如果你想停止并从你离开的地方开始
-r -A”-R[0-9].0“,仅获取中间有 -Rx.0 且 x 属于 {0,1,...9} 的文件
-np ,表示没有父目录(与 -r 选项一起使用)
-nd ,代表无目录
-e robots=off,关闭机器人
所以在你的情况下你会做类似的事情
wget -c -e robots=off -r -np -nd -A "*-R[0-9].0*" http://repo.bukkit.org/content/groups/public/org/bukkit/craftbukkit/
我无法从您发布的网站获取它,但我认为它会以某种方式将内容重定向到这里。