V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
weakish
V2EX  ›  云计算

批量提交百度网盘离线http/ftp下载

  •  
  •   weakish · 2013-09-13 12:05:16 +08:00 · 14283 次点击
    这是一个创建于 4071 天前的主题,其中的信息可能已经有所发展或是发生改变。
    十几行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提交的下载任务,不会出现在网页版的下载列表中,而且需要点击一下音乐、视频、其他(取决于下载类型),然后才会在所有文件下的相关文件夹出现。

    大概就是这样了吧。
    4 条回复    1970-01-01 08:00:00 +08:00
    viger
        1
    viger  
       2013-09-13 12:06:52 +08:00
    好东西,先收藏,待用。
    tt0411
        2
    tt0411  
       2013-09-13 12:32:05 +08:00
    jq 是什么程序?是这个么: https://github.com/stedolan/jq
    weakish
        3
    weakish  
    OP
       2013-09-13 16:16:10 +08:00
    @tt0411 是的。(其实脚本里有写地址
    fork3rt
        4
    fork3rt  
       2014-03-27 14:34:33 +08:00
    貌似百度的cookie是有时限的吧。。 第二天就不能用了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3479 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 10:44 · PVG 18:44 · LAX 02:44 · JFK 05:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.