在像 json 的情况下如何使用 wget?

在像 json 的情况下如何使用 wget?

假设我们有这样的 json:

[{
    "title": "How to download File From Node Js",
    "extension": "mp4",
    "url" : "http://zzz.com/asd/what.mp4",
    "folder__relative_path": "tutorial/node"
}, {
    "title": "How to play Guitar",
    "extension": "mp4",
    "url" : "http://asdz.com/asd/dsa.mp4",
    "folder__relative_path": "another_folder/hello/tutorial/Guitar"
}
....
more
more
....
]

因此,基本上我们有一个 json 文件,其中包含有关下载 URL、路径和带扩展名的文件名的信息。我们只想从上面的链接下载。

如何下载带有扩展名的重命名标题并保存到我们指定的目录中;

我们知道我们可以像这样使用 wget

wget www.zzz.com/1.mp4 -O /var/cache/foobar/google.mp4

但是从 json 中获取和保存不是很困难吗?

有没有什么办法可以解决这个问题?

答案1

您可以使用 Python解析 JSON跑步wget

#! /usr/bin/python3
import json, sys, subprocess

for k in json.load(sys.stdin):
    cmd = ["echo", "wget", k["url"], "-O", '{:s}/{:s}.{:s}'.format(k["folder__relative_path"], k["title"], k["extension"])]
    subprocess.run(cmd)

使用示例输入:

$ python3 f.py < foo.txt
wget http://zzz.com/asd/what.mp4 -O tutorial/node/How to download File From Node Js.mp4
wget http://asdz.com/asd/dsa.mp4 -O another_folder/hello/tutorial/Guitar/How to play Guitar.mp4

验证输出后,删除"echo",以实际执行命令。wget

相关内容