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地址

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2018 年 11 月 08 日 10 : 40 AM

发表评论 取消回复

62 条评论

  1. luo

    今天遇到报错,本想上 Github 看下 issue,结果发现项目挂了,还好对于个人项目我有备份的习惯
    https://github.com/luoyemengchen/bash-backup

    1. Rat's
      @luo

      其实就算没备份,也可以搜的到fork的

  2. coinsinic

    github页面404了,大佬有没有备份?

    1. Rat's
      @coinsinic

      居然404了,估计也慌了,给你找了个最新的git地址,别人fork的,https://github.com/felixonmars/BaiduPCS-Go

      1. coinsinic
        @Rat's

        谢谢大佬了,之前问错了,想要个可执行文件,大佬有吗?

        1. Rat's
          @coinsinic

          git都给你了,直接看:https://github.com/felixonmars/BaiduPCS-Go/releases

          1. coinsinic
            @Rat's

            谢谢大佬,不熟悉github

  3. 丁小磊

    你好,请问我如果想上传100G的文件,如何让程序在后台运行?

    1. Rat's
      @丁小磊

      最简单的可以用nohup &,比如我要使用命令xx cc,挂后台就是nohup xx cc &

  4. LYM

    好像直接403了。。。。。

    1. Rat's
      @LYM

      作者前两天都更新了,应该可以用,相信你可以的

      1. LYM
        @Rat's

        最新版的好像不需要换app id

      2. LYM
        @Rat's

        可以了,抱歉因为没有邮件通知没注意到已经回复。。。现在可以下载,但是速度好像只有100k左右。。。

        1. Rat's
          @LYM

          不开超级会员还想要体验?

          1. LYM
            @Rat's

            找朋友的会员试了。。感觉是国外服务器的问题。

          2. LYM
  5. 何必呢

    帅帅的博主,帮我看看啊。目前我的连接都是正常的,列出网盘的目录也是正确的。
    开始下载的时候,前几个文件还是正常的。
    但是后来,就这样了:

    [30] ----
    类型 文件
    文件路径 /X下载/loln/1.part29.rar
    文件名称 1.part29.rar
    文件大小 4293918720, 3.999023GB
    md5 (可能不正确) 11ab4200ca30fa25290612c1fbf85832
    app_id 250528
    fs_id 41113301528578
    创建日期 2019-05-28 16:39:18
    修改日期 2019-09-22 14:54:31

    [30] 准备下载: /X下载/loln/1.part29.rar
    [30] 将会下载到路径: /baiduxiazai/158905467_tsinit2001/X下载/loln/1.part29.rar

    [30] 下载文件错误, 403 Forbidden, 重试 2/3

    重新启动VPS,还是这样。应该怎么折腾它呢?

    1. Rat's
      @何必呢

      账号被锁了还是啥?这个有答案,https://github.com/iikira/BaiduPCS-Go/issues/460,建议用这些工具的时候,最好开百度会员,不然很容易被限速

      1. 何必呢
        @Rat's

        恩恩。果然是这样了。悲剧啊。
        没缴纳保护费,被百度ban了。
        官方客户端的速度,也跑不起来了。坑死。过几天等恢复吧。不再敢用这个了。

        1. Rat's
          @何必呢

          百度:白嫖还想要体验?

          1. 何必呢
            @Rat's

            觉逼是心有灵犀啊。。。咱俩想的一样,所以刚刚我向李眼红缴纳25元嫖资了。

  6. MenheraChan

    tql…tql,除了Google云端硬盘还有百度网盘

    1. Rat's
      @MenheraChan

      还有这个的web端程序

  7. jun

    [1] ↓ 0B/2.29MB 38.60KB/s in 3s, left 1m0s .............
    [1] 下载文件错误, ERROR: fatal internal error: write /root/GoogleDrive/1217604760_zfxlcj/IMG20140920160038.jpg: illegal seek, 重试 3/3

    你好,大佬,请教,这个是什么错误?

    1. Rat's
      @jun

      你用了rclone挂载谷歌网盘后,直接当下载目录?如果是的话,那正常,挂载盘不支持直接写入,你可以下载到vps上,再移动到挂载盘。

      1. jun
        @Rat's

        是的,那需要怎么修改?请教大佬,第一次操作,很多不懂,谢谢指导

        1. Rat's
          @jun

          用文中的命令,把默认存储目录设置到vps其它目录,非挂载目录

          1. jun
            @Rat's

            保存百度云盘的文件路径和同步的路径不同,怎么操作进行上传呢?谢谢赐教

  8. jun

    [1] ↓ 25.38MB/25.38MB 182.73KB/s in 13s, left 0s ..............
    [1] 下载完成, 保存位置: /root/Downloads/1217604760_zfxlcj/学习强国.rar
    [1] 检验文件有效性出错, 该文件不支持校验

    任务结束, 时间: 14.003s, 数据总量: 0B
    请教大佬,这个是下载成功了吗?

    1. Rat's
      @jun

      失败。

  9. 可爱多

    不会扒appid。。。求告知一个新的

    1. Rat's
      @可爱多

      方法貌似已经写在文中了

  10. Linon

    能自动上传到onedrive就好了