十几行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提交的下载任务,不会出现在网页版的下载列表中,而且需要点击一下音乐、视频、其他(取决于下载类型),然后才会在所有文件下的相关文件夹出现。
大概就是这样了吧
文章评论
马克