Skip to content

A tool to download barrage/video from bilibili. Support English, Japanese and Chinese(China).一个Python编写的从Bilibili下载弹幕/视频的工具。支持英语、日语和中文(中国)。(WEBGUI正在路上)

License

615969333/bili

 
 

Repository files navigation

BiliBili 弹幕/视频下载软件

简介

程序用python(python3)语言编写而成,使用了部分python库和ChromeDriver。
软件只有控制台界面,萌新不会可以看这里
现在已支持命令行
RELEASE构建脚本见bili.build.bat

依赖库

requests
selenium
rsa
polib
web.py
regex
iso-639
自己写的file库
如需自动合成视频,需要当前目录内或者环境变量PATH目录内有ffmpeg。
如需使用aria2下载视频,需要当前目录内或者环境变量PATH目录内有aria2c。
用户名密码登录部分参考了Bilibili-Toolkit的登录部分代码。
识别Captcha使用了该接口

JavaScript依赖库

jQuery
js-sha256
jsbn(注:已被合并到webuihtml/js(origin)/rsa.js
js-base64
QRCode.js
Viewer.js
clipboard.js
FileSaver.js

配置文件

cookies.json

该文件保存了登录B站后获取到的cookies信息,用于程序保持登录B站(调用历史弹幕接口用以及下载720P及以上视频使用)

settings.json

该文件保存了一些默认操作的设置,可以运行setsettings.py来设置。

webui.json

保存了WEB用户界面的设置。

sections.json

当WEB用户界面打开密码验证时,存储会话信息。

tv.bilibili.player.xml

该文件不一定需要
主要用来对弹幕进行过滤。
可以直接将在PC网页端播放器的弹幕过滤设定中导出的文件放至程序目录下,并确保文件名为tv.bilibili.player.xml

开始使用

直接运行start.py即可

prepare.py

运行后可以取得运行WEB用户界面必须的一些文件。
运行时确保可以直接访问java

WEB用户界面

运行startwebui.py后,可以在浏览器访问。
默认地址为http://localhost:8080

过滤弹幕

运行filter.py即可
注意:必须要有tv.bilibili.player.xml文件才能进行弹幕过滤。

翻译

你可以在Transifex上为该程序提供翻译。
感谢Kum4423提供日语翻译。

其他

完美支持普通视频的弹幕下载
现已支持SS号(番剧)的普通弹幕和全弹幕下载,但全弹幕下载开始时间可能需要手动调整(目前暂未发现每1P的具体时间戳)
全弹幕下载建议使用自动模式,不建议自己输入间隔天数
注:第1P一般是准确的。

全弹幕下载问题

由于B站限制了历史弹幕的调用次数,大概12h内可以调用1000次左右,所以在弹幕较多的时候请设定较大的时间间隔。
被限制后大约12h后会恢复正常

已知BUG

一直出现保存内容至文件失败或显示cgi库escape出错

全弹幕下载一直出现保存内容至文件失败或显示cgi库escape出错
原因:
BiliDanmuCreate.py下cgi没有正确引用escape()
低版本python可以使用cgi.escape()而高版本可以使用cgi.html.escape()

登录时发生错误(使用ChromeDriver时)

这是由于你的电脑未安装Chrome或者Chrome版本与Chrome Driver版本不一致导致的,请安装Chrome或下载匹配Chrome版本的Chrome Driver。
可以到这里下载Chrome Driver的其他版本
具体的错误提示可以参考#9#11
现在已经支持用户名和密码登录。

FAQ

无法输入密码

这是由于输入密码时关闭了输入内容在屏幕上输出(回显)导致的。
解决方法是直接正常输入密码后按回车键即可。

大会员账号提示仅大会员可以观看

先删除cookies.json,然后使用Chrome Driver登录,不要使用WEB UI登录。(WEB UI登录目前存在BUG)

About

A tool to download barrage/video from bilibili. Support English, Japanese and Chinese(China).一个Python编写的从Bilibili下载弹幕/视频的工具。支持英语、日语和中文(中国)。(WEBGUI正在路上)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 73.9%
  • JavaScript 20.6%
  • HTML 5.1%
  • CSS 0.4%