总结一下【完美版】自动下载 B 站收藏视频 – Left's blog 遇到的坑

原教程: 【完美版】自动下载 B 站收藏视频 – Left’s blog

虽然 Left 人家的实现方法是脚本,有点非典型吧(我用的东西大多是写成二进制或者 docker),不过既然能成功实现功能那就是好东西。不过脚本的固有问题,就是坑多。目前也没找到更好的工具替代,所以排了坑继续用吧。

  1. 记得安装 mailutils、rclone。

  2. 记得几个工具给齐权限(特别是那个 danmaku2ass.py)

  3. rsshub 建议自建。rsshub 公用接口有可能获取不到自己的收藏夹。

  4. 目前一共三个 bug。

    1. 评论底下说的

      第三十行提示 “syntax error: unexpected end of file”

      其实是这句:

      1
      if [ $pubdate != $olddate ];

      得改成

      1
      if [ "$pubdate" != "$olddate" ];

      我一开始还以为变量是指脚本路径和视频储存路径(

    2. you-get 报错。可能要加 -k 参数。具体是第一个脚本的 41 行:

      1
      stat=$($you -i -c /home/zbttl/run/cookies.txt $link)

      改成

      1
      stat=$($you -i -k -c /home/zbttl/run/cookies.txt $link)

      -k 参数具体作用是忽视证书错误。我踩坑的原因是我的 openssl 是自己编译的。。。没把本地证书链接进去。不止 you-get 报错,wget 也报错。不排除其他原因(网络故障和你懂得),gayhub 上就有一样的 issue b 站解析经常性 403 错误 you-get 没问题・Issue #452・zhangn1985/ykdl

    3. 需要替换的地方,包括脚本位置,储存位置,cookies 位置,danmaku2ass.py,rclone 参数,发送到的邮箱。特别是邮箱参数有两个,我一开始只替换了一个,我说怎么只收到一个,大 e 了。

    4. (已反馈,作者已修复)第二个脚本转换弹幕的那一句

      1
      /usr/bin/python3 /root/bili/danmaku2ass.py /var/www/webdav/Bilibili/"$title"/"$fullfilen"

      我搜了一下,没找到 fullfilen 这个变量。

      得改成

      1
      /usr/bin/python3 /root/bili//danmaku2ass.py "$filename"
  5. 脚本只能下载运行时放在收藏夹最顶上的视频。所以运行前放在收藏夹最顶上的视频和运行后收藏的视频都能抓到。但不能下载之前收藏的视频,还有收藏了一个视频后必须等他处理完再收藏其他视频,手速太快就只会下载其中一个视频哦。

  6. 还有就是,you-get 最近还不一定能方便的获取到最高画质了,打个比方,这是正常的

    但这个。。。