微博弹幕下载器

540次阅读
没有评论

下载

Windows

如何选择

如果你已经安装了java(1.8及以上版本)并设置好了环境变量,即可选择release.zip。 你可以按win+r,输入cmd,在命令提示符中输入java -version如果显示出java版本且为1.8及以上,即可下载该文件;如果显示'java' 不是内部或外部命令,也不是可运行的程序或批处理文件,则应该选择另外两个版本。

如果你没有安装java,或者安装了但不会设置环境变量,你可以选择另外两个版本。你可以右键此电脑(我的电脑)-属性来查看你的系统是64位还是32位(x86),并选择正确的版本。

相关链接

使用教程

配置

将下载完的zip文件解压后进入到软件目录(请勿直接在压缩包中运行),首先修改配置文件config.json。你可以通过 右键它-打开方式-记事本 来编辑该文件。

其中,frequency代表每一轮访问多少次微博api,数字越大,越快完成。默认为10。
wait指每一轮完成后等待的时间,单位为毫秒,数字越小,越快完成。默认为3000。
one_skip_no_danmu代表“一直播”中如果没有弹幕了,最长再往后找多长时间,单位:秒。默认为600。因为有可能出现几分钟没人发弹幕的情况,如果主播的直播间没什么人发言,请把它调大一点。但是调太大会导致获取弹幕用时过长。

不建议将frequency设置过大或将wait设置过小,否则可能会获取失败,建议使用默认值。

cookie用于访问微博。为了获取cookie,你需要打开浏览器,进入微博,登录你的账号(尽量不要使用重要的账号,建议使用小号)后回到微博首页。然后按键盘上的F12按键(或右键任意地方点击审查元素或检查等),打开开发者工具,点击网络(NetWork),然后刷新网页,你会看到出现一堆内容(前提是筛选Filter是空白的)。随便点击一个,查看是否有Cookie这一项,如果没有,再随便点击一个,直到找到Cookie,如下图所示。

Chorme浏览器的网络选项
Chorme浏览器的网络选项


Edge浏览器的网络选项
Edge浏览器的网络选项


微博弹幕下载器

复制上图Cookie的内容(图中红框内左上角的Cookie:不用复制),它就是我们需要的cookie。注意不要泄露它,否则别人可能会用你的Cookie来操作你的账号(比如发微博说我是傻狗)。如果不慎泄露,请及时退出并重新登录你的账号,这样会刷新你的Cookie。

另外,Cookie也会随时间推移而自动刷新,所以每过一段时间(可能只有一天),你就需要重新获取Cookie

编辑完配置文件后,它大概长这样:

{
    "cookie": "SINAGLOBAL=2425很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段很长一段A0%7D",
    "frequent": 10,
    "wait": 3000,
    "one_skip_no_danmu":600
}

保存文件,接着运行run.bat,如果出现请输入new/old/one,则代表设置成功。

使用

由于微博直播有新版、旧版和“一直播”之分,所以你需要根据实际情况输入正确的内容。

首先我们需要点进直播的详情页,如图所示

新版微博直播

https://weibo.com/tv/show/1042211:4732071558709323 为例。

按键盘上的F12按键(或右键任意地方点击审查元素或检查等),打开开发者工具,点击网络(NetWork),在筛选器(Filter)中输入list,然后刷新网页。如果有出现一个类似于list?start_offset=0&mid=4732048030306482的内容,它就是新版直播。点击它,就可以看到详细的内容,我们需要的是mid=后面的内容,复制它。如图所示。

微博弹幕下载器

接着打开软件,输入new,回车,然后将复制的mid(如例子中的4732048030306482)粘贴进去,回车,接着再将该直播发布的时间(如下图所示)复制粘贴到软件中,再回车,即可获取弹幕。

注意,能接受的时间格式为 “x月x日 xx:xx” 或 “20xx-xx-xx xx:xx” ,如果不是这个格式,比如“刚刚”,“1分钟前”,“今天 18:42”,则需要手动改成上述格式。注意冒号为英文形式(:)而不是中文形式(:)。

完整步骤:
请输入new/old/one
new
请输入mid
4732048030306482
请输入直播开始的时间
2月1日 13:00

有时候这个直播开始时间可能会报错,如果报错,改成2022-2-1 13:00即可。显示为x月x日格式的一般都是今年,所以年份改为今年的年份数字即可。

旧版微博直播

https://weibo.com/l/wblive/p/show/1022:2321324603087133212939 为例,微博的发布时间为2021-2-10 16:17

重复上述动作,发现没有list?start_offset的内容,就把刚刚筛选器(Filter)中的list改为comment,发现有一个buildComments?is_reload=1&id=4603087451062716...的内容,而id=后面的便是我们需要的。

打开软件,输入old,回车,接下来的步骤与上面相同。

完整步骤:
请输入new/old/one
old
请输入id
4603087451062716
请输入直播开始的时间
2021-2-10 16:17

“一直播”

https://www.yizhibo.com/l/9993NSXiam4EWpFj.html 为例,微博的发布时间为2020-9-4 15:11

如果你发现打开详情页后的网址是www.yizhibo.com/xxx,就代表它是一直播的形式。其实在打开之前你也能知道,因为它会表明“来着 一直播Yi”,如图所示。

微博弹幕下载器

这个网址便包含了我们需要的东西,在/l/之后,.html之前。比如刚刚的例子https://www.yizhibo.com/l/9993NSXiam4EWpFj.html,便是9993NSXiam4EWpFj

打开软件,输入one,回车,接下来的步骤与上面相同。

完整步骤:
请输入new/old/one
one
请输入uid
9993NSXiam4EWpFj
请输入直播开始的时间
2020-9-4 15:11

解决弹幕不同步的问题

我写了个软件来方便手动调整不同时间段中的弹幕不同步问题,无论是整体不同步,还是一半时间是同步的,后面不同步,都可以用这个软件来解决。

显示弹幕

执行完上述步骤后,获取到的弹幕文件会保存在 软件目录/download 中,请及时修改文件的名称避免后面忘记它是那一期直播的弹幕。

为了让弹幕在视频中显示出来,我们要将生成的xml文件转化为ass文件(不是改后缀名!),这里我推荐使用 niconvert。

首先,你要下载并安装 Python,点这里下载

然后,点这里下载 niconvert

软件使用和渲染的过程,你可以 点击这里查看