假设我们有这样的 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
#! /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