如何“批量”备份 B 站的弹幕

我在 B 站上传了很多视频,最近想删除一些视频。之所以要删除,是因为 B 站不能设置为自己可见,只有删除了才能让它从我的主页上消失。

在删除前,我想备份这些视频的评论和弹幕。可惜的是,除了复制粘贴,我找不到其他备份评论的方法,不过弹幕是可以批量备份的。

第一步:批量获取视频链接

为了写微信小程序“水果机大全”,我学过一些简单的 js、node 知识,所以就写了一段简单的 node 程序自动获取所有视频的链接。代码中 url 部分可以参考知乎网友的这个分享。

var request = require('request');
for(let i = 1; i < 38; i++){
  let url = 'https://space.bilibili.com/ajax/member/getSubmitVideos?mid=11604507&pagesize=30&tid=0&page=' + i + '&keyword=&order=pubdate';
  request(url, function (error, response, body) {
      let content = JSON.parse(body).data.vlist;
           for(let i = 0; i < content.length; i++){
                console.log('https://www.bilibili.com/video/av' + content[i].aid);
             }
      });
};

第二步:批量下载视频弹幕

我用来批量下载弹幕的工具是 GitHub 上的 biliDanmakuBackup。因为我希望可以自动批量下载,所以我搜了一下,写了一段简单的 bash script 自动调用 biliDanmakuBackup

while read p; do
  cd ~/Desktop/biliDanmakuBackup
  java -jar backup.jar -b -current -url="$p" -out= /Users/keke/Desktop/danmu
done < ~/Desktop/app/url.txt

虽然我只想删除部分视频,不过我干脆把所有视频的弹幕都被下载下来了,总共 1100+ 个视频,下载耗时超过十分钟,电脑发热,风扇不断地转。

下载下来的弹幕是 xml 文件,可以把它处理成更适合阅读的 json 文件,不过我的目的只是备份,所以有了 xml 文件就够了,以后需要的时候再处理吧。

发布者

科技微讯

大家可以关注微信公众号「科技微讯」啊哈哈哈,那里基本每天都更新哦!看科技视频,就看科技微讯!(•̀ᴗ•́)و ̑̑

发表评论

电子邮件地址不会被公开。