Rat's

VPS使用BaiduPCS-Go高速下载百度网盘的文件,支持上传/离线下载等操作
说明:今天折腾了下辣鸡的百度网盘,想从网盘上下点东西到VPS上,用到了博主之前分享过一个百度网盘的Python客户...
扫描右侧二维码阅读全文
19
2018/09

VPS使用BaiduPCS-Go高速下载百度网盘的文件,支持上传/离线下载等操作

说明:今天折腾了下辣鸡的百度网盘,想从网盘上下点东西到VPS上,用到了博主之前分享过一个百度网盘的Python客户端BYPY,查看:VPS安装BYPY实现百度云文件上传/下载/同步,不过传输速度真的很慢,长期100KB不到,可能是我用国外服务器的缘故吧。然后无意间发现了另外一个客户端BaiduPCS-Go,基于Go编写,功能强大很多,还支持离线下载,关键是下载速度很快,比开了超级会员还爽。这里就分享下。

特色

  • 支持WindowsmacOSlinux、移动设备等。
  • 百度帐号多用户支持。
  • 下载网盘内文件,支持多个文件或目录下载,支持断点续传和单文件并行下载。
  • 上传本地文件,支持上传大文件(>2GB),支持多个文件或目录上传。
  • 离线下载,支持http/https/ftp/电驴/磁力链协议。

使用

Github地址:https://github.com/iikira/BaiduPCS-Go

1、下载BaiduPCS-Go
下载地址:点击查看,找到适合自己服务器的最新版本,这里以VPS64位系统为例。

#下载并解压程序,然后删除压缩文件
wget https://github.com/iikira/BaiduPCS-Go/releases/download/v3.5.6/BaiduPCS-Go-v3.5.6-linux-amd64.zip
unzip BaiduPCS-Go-v3.5.6-linux-amd64.zip && rm -rf BaiduPCS-Go-v3.5.6-linux-amd64.zip

2、登录百度账号

#进入到之前解压的文件里运行相关命令
cd BaiduPCS-Go-v3.5.6-linux-amd64
#登录百度云盘
./BaiduPCS-Go login

会要求你填用户名、密码,验证码。
请输入图片描述
这里是支持登录多个账号的,重复使用登录命令就可以了。多用户操作命令如下:

#列出已登录百度帐号列表
./BaiduPCS-Go loglist
#获取当前百度帐号
./BaiduPCS-Go who
#切换当前的百度帐号,<uid>请在列表里查看
./BaiduPCS-Go su <uid>
#退出当前登录的百度账号
./BaiduPCS-Go logout

3、查看网盘总空间和已使用的

./BaiduPCS-Go quota

这里好像会返回错误(目前来说是错误的),而且后面的下载等命令都会返回错误,因为配置文件里的appid暂时不可用了,然后某大佬想出了一个找到可用appid的方法。

先在程序解压文件里新建一个脚本,比如/root/BaiduPCS-Go-v3.5.5-linux-amd64

#进入到解压文件里
cd /root/BaiduPCS*
#新建appid.sh脚本文件
nano appid.sh

复制以下代码到脚本里:

#!/bin/bash

item=266718
function check(){
    ./BaiduPCS-Go config set -appid=$item &> /dev/null
    ./BaiduPCS-Go ls | grep -q 遇到错误
    if [ $? != 0 ];then
        echo "当前可用appid:$item ,已设置成功,BaiduPCS-Go 现可用正常使用了!"
    else
        let item+=1
        check
    fi
}
check

按住Ctrl+xy保存退出,然后运行脚本:

bash appid.sh

脚本会帮你找到一个可用的appid,并自动替换到配置文件里。
请输入图片描述
4、相关配置

#设置下载文件的储存目录,默认存在/root/Downloads
./BaiduPCS-Go config set -savedir /home

#设置下载最大并发量为200,建议值50~500,数值越大速度越高,但太高可能会出问题
./BaiduPCS-Go config set -max_parallel 200

5、下载文件
使用命令:

./BaiduPCS-Go d <网盘文件或目录的路径1> <文件或目录2> <文件或目录3> ...

命令示范:

#下载根目录rats.xx文件
./BaiduPCS-Go d rats.xx
#下载moe目录rats.xx文件
./BaiduPCS-Go d /moe/rats.xx

#下载根目录moe文件夹所有文件
./BaiduPCS-Go d /moe
#下载根目录moe文件夹的子文件夹rats所有文件
./BaiduPCS-Go d /moe/rats

6、上传文件
使用命令:

./BaiduPCS-Go u <本地文件/目录的路径1> <文件/目录2> <文件/目录3> ... <目标目录>

命令示范:

#将服务器上的/root/rats.xx文件上传到网盘根目录moe文件夹,如果是根目录则用/
./BaiduPCS-Go u /root/rats.xx /moe

#将服务器上的/root/rats文件夹及里面的文件上传到网盘根目录moe文件夹,如果是根目录则用/
./BaiduPCS-Go u /root/rats /moe

这工具命令实在太多,这里就只说比较有用的,其它的很多基本在网盘里自己就可以操作,关于离线下载等其它命令可以查看:Github地址

需要Office365 E3 MSDN 25的可加入萌咖杂货店QQ群购买→【点击加入
最后修改:2018 年 11 月 08 日 10 : 40 AM

发表评论

21 条评论

  1. 玩世不恭

    很强亲测日本节点的vultr最快 34m/s ...

    1. Rat's
      @玩世不恭

      我才六七M。

  2. arrowarrow

    下载一个文件明明已经下载完毕,速度停在了0B/s,但一直无法结束,只好CTRL-C退出,有人遇到过吗?如何解决啊

    1. Rat's
      @arrowarrow

      多下几次看看,平常用迅雷什么的也会这样,最后一点就没速度了。

  3. 橘花怜

    任务结束, 时间: 1s, 数据总量: 0B
    truebt@root:~/BaiduPCS-Go-v3.5.5-linux-amd64$ bash appid.sh
    当前可用appid:266769 ,已设置成功,BaiduPCS-Go 现可用正常使用了!
    truebt@root:~/BaiduPCS-Go-v3.5.5-linux-amd64$ ./BaiduPCS-Go d /truebt

    [0] 提示: 当前下载最大并发量为: 200, 下载缓存为: 30000
    [1] 加入下载队列: /truebt
    [1] 获取路径信息错误, 获取文件/目录的元信息: 遇到错误, 远端服务器返回错误, 代码: 31045, 消息: 操作失败, 可能百度帐号登录状态过期, 请尝试重新登录, 消息: user not exists

    1. 橘花怜
      @橘花怜

      已经配置appid还是返回错误

      1. Rat's
        @橘花怜

        作者已经修复了,你去下载源码,地址:https://ci.appveyor.com/project/iikira/baidupcs-go/build/artifacts。使用方法一样。

        1. arrowarrow
          @Rat's

          是不是新的.zip需要编译?如何编译啊

          1. Rat's
            @arrowarrow

            不需要编译,解压出来直接使用就好了。

      2. Rat's
        @橘花怜

        这个问题好像很多人遇到了,我先观察下。

        1. 橘花怜
          @Rat's

          解压出来BaiduPCS-Go 然后cd BaiduPCS-Go显示-bash: cd: BaiduPCS-Go: Not a directory

          1. Rat's
            @橘花怜

            如果你是用我给的链接解压出来后,是不需要进入文件夹的,因为没有,直接会解压出来可执行文件,直接使用命令就行了。

            1. 橘花怜
              @Rat's

              谢谢 成功了

  4. xixi

    上传速度如何

    1. Rat's
      @xixi

      我测试的时候最高达到十几M,只是不稳,但还是很快的。

  5. shawnL

    会不会有被封号的风险

    1. Rat's
      @shawnL

      应该不会,还没听说有人会被封号,对IP限速24小时的倒是有,可能下载很暴力。

  6. 哈?

    给像我这样毫无基础的萌新详细说一下使用方法.大佬勿喷

    一.进入脚本文件夹然后运行脚本.示例 下载根目录rats.xx文件

    cd /root/BaiduPCS*
    ./BaiduPCS-Go d rats.xx
    ——————————————————

    二.在根目录直接运行脚本需要输入完整路径 .示例 下载根目录rats.xx文件

    BaiduPCS-Go-v3.5.5-linux-amd64/BaiduPCS-Go d rats.xx
    或者
    /root/BaiduPCS-Go-v3.5.5-linux-amd64/BaiduPCS-Go d rats.xx

    1. Rat's
      @哈?

      你是大佬。

      1. 哈?
        @Rat's

        大佬你不要乱讲话.我真信了怎么办

        1. Rat's
          @哈?

          不要怀疑你自己,对你没任何好处。