十几行sh脚本的简单实现
代码放在 gitcafe 上
https://gitcafe.com/weakish/baidupan-cli/blob/master/baidupan-offline-dl.sh依赖:
- curl
- jq (其实完全可以用grep/awk改写,去掉这个依赖,不过jq是单个执行文件,没有什么依赖,安装也很方便)
用法:
BaiduPanToken=1234aoeu BaiduPanPath='/apps/appname/your-dir' ./
baidupan-offline-dl.sh urls.list
urls.list就是一个文本文件,一行一个网址。
存放路径的话,appname是应用名称,可以上百度盘网页版查看,/apps对应的是我的应用数据文件夹。
BaiduPanToken,正规的取得程序应该是注册百度开发者,提交应用,再用API key走OAuth取得,具体看百度的api文档, curl的例子看这里:
http://www.haiyun.me/archives/859.html如果妳通过其他应用获得过token,可以重复利用。(我就是重复利用了另一个应用的 token,因为注册百度开发者还需要验证手机号,不想让百度知道我的手机号。)
目前好像百度网盘只允许同时开5个下载,所以如果同时有5个下载了,就睡6分钟再接着提交,如果妳下的文件比较小的话,可以把脚本中的 sleep数值改小一点。
如果文件很多,不想一直开机的话,扔VPS上运行就是:
BaiduPanToken=1234aoeu BaiduPanPath='/apps/appname/your-dir' nohup ./
baidupan-offline-dl.sh urls.list &
目前发现用api提交的下载任务,不会出现在网页版的下载列表中,而且需要点击一下音乐、视频、其他(取决于下载类型),然后才会在所有文件下的相关文件夹出现。
大概就是这样了吧。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/82296
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.