Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

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

License

NotificationsYou must be signed in to change notification settings

lifegpc/bili

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English日本語

Rust 重构版开发中

Rust重构版

BiliBili 弹幕/视频下载软件

简介

程序用python(python3)语言编写而成,使用了部分python库和ChromeDriver(有ChromeDriver在登录和解决验证码时较方便。如无ChromeDriver对主要功能不影响)。
现在已支持命令行
RELEASE构建脚本见bili.build.bat
RELEASE已使用GPG签名。

公钥

-----BEGIN PGP PUBLIC KEY BLOCK-----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=DTeS-----END PGP PUBLIC KEY BLOCK-----

程序功能

使用aria2c下载

本程序支持使用aria2c下载并推荐使用aria2c下载以获得更好的下载体验。
启用该功能需要确保能够直接使用命令行调用aria2c(一般而言放在程序目录即可)并确保在设置里已启用使用aria2c。

自动合并分离的视频

本程序使用ffmpeg来自动合并分离的视频。
启用该功能需要确保能够直接使用命令行调用ffmpeg(一般而言放在程序目录即可)并确保在设置里没有禁用ffmpeg。

mp4和mkv格式

本程序支持合并为mp4文件或mkv文件,设置中可以选择视频格式。

m4a格式

本程序支持直接下载音频文件为m4a文件。

flac格式

部分音频含有无损音质,可以保存为flac文件。

mp3格式

本程序暂不支持mp3格式。(因为不想转码)

普通AV/BV号视频

本程序支持以下的输入(以AV9为例,忽略大小写):

  • 9
  • av9
  • BV1xx411c7mC
  • bilibili.com/video/av9 (前面的https://,www.等内容可以加可以不加,后同)
  • bilibili.com/video/BV1xx411c7mC
  • b23.tv/av9
  • b23.tv/BV1xx411c7mC
  • bilibili.com/s/video/av9
  • bilibili.com/s/video/BV1xx411c7mC
  • bilibili.com/festival/2021bnj?bvid=BV1j5411n7s9

如果视频指向的是番剧,将会自动重定向到番剧

仅下载音频

目前只支持DASH流的解析结果。(目前只有极个别的解析结果不是DASH。)

番剧

本程序支持以下的输入(以SS26291为例,忽略大小写):

  • ss26291
  • ep259653
  • md4316442
  • bilibili.com/bangumi/play/ss26291
  • bilibili.com/bangumi/play/ep259653
  • bilibili.com/bangumi/media/md4316442
  • b23.tv/ss26291
  • b23.tv/ep259653
  • 40240711等AV/BV号视频输入

如果根据现有的SS或EP号找不到内容,将会尝试使用相同的SS和EP号去访问已购买课程

仅下载音频

目前只支持DASH流的解析结果。

仅下载封面

在下载当前话的封面时,会自动下载整个番剧的封面。

已购买课程

本程序支持以下的输入(以SS150为例,忽略大小写):

  • bilibili.com/cheese/play/ss150
  • bilibili.com/cheese/play/ep2425

仅下载封面

不会下载当前话的封面,而是下载整个课程的封面以及介绍图。

已购买课程列表

本程序支持以下的输入:

  • bilibili.com/cheese/mine/list
  • bilibili.com/v/cheese/mine/list

会将所有已购买课程解析出来以供选择需要下载的课程。

收藏夹

本程序支持以下的输入(以UID1为例):

  • space.bilibili.com/1/favlist

会将所有收藏夹内的视频解析出来以供选择需要下载的视频。

支持的GET参数

  • fid:用来指定是哪一个收藏夹
  • keyword:用来搜索收藏夹
  • type:指定是搜索全部收藏夹还是当前收藏夹。0为当前收藏夹,1为全部收藏夹。
  • tid:用来指定是哪个分区,全部分区是0。可以使用--ltid命令行参数来获得当前收藏夹所有可用的tid。
  • order:指定投稿视频列表排序。mtime为最近收藏,view为最多播放,pubtime为最新投稿。

频道列表

本程序支持以下的输入(以UID1为例):

  • space.bilibili.com/1/channel/index

会将一个UP主的所有频道解析出来以供选择需要下载的频道。

频道

本程序支持以下的输入(以UID928123为例):

  • space.bilibili.com/928123/channel/detail?cid=42271

支持的GET参数

  • cid:用来指明是哪个频道(必须带有cid才能进行解析)
  • order:指明视频排序顺序,0为默认排序,1为倒序排序。

会将一个频道的所有视频解析出来以供选择需要下载的视频。

投稿视频列表

本程序支持以下的输入(以UID1为例):

  • space.bilibili.com/1/video
  • bilibili.com/medialist/play/225910184

支持的GET参数

  • tid:用来指明视频类型,全部是0。可以使用--ltid命令行参数来获得当前UP主的投稿视频所有可用的tid。
  • keyword:用来搜索投稿视频列表
  • order:指定投稿视频列表排序。pubdate为最新发布,click为最多播放,stow为最多收藏。

会将一个UP主的所有投稿视频解析出来以供选择需要下载的频道。

直播回放

本程序支持以下的输入(以R1mx411c7En为例):

  • live.bilibili.com/record/R1mx411c7En

视频下载

目前只支持下载原画,如果出现其他画质,下载器应该会有提示,请将视频链接提交至issues

弹幕下载

目前只支持普通类型的弹幕,礼物等不支持。弹幕将会由原始格式转换为XML格式。

直播

本程序支持以下的输入(以房间号1为例):

  • live.bilibili.com/1

视频下载

支持多种画质选择。支持选择主线和备线(需要使用命令行)。

AU号音频

本程序支持以下的输入(以AU1为例):

  • au1
  • bilibili.com/audio/au1
  • b23.tv/au1

音频下载

现已支持多种音质。
如果音频有关联的普通视频,将会尝试从关联的视频页获取更多的音质。

仅下载歌词

程序默认会对下载的歌词文件进行过滤修正,从而适应更多的播放器。
如果音频有关联的普通视频,将会尝试从关联的视频页获取更多的歌词(即字幕)。

歌单

本程序支持以下的输入(以AM29931432为例):

  • am29931432
  • bilibili.com/audio/am29931432
  • bilibili.com/audio/mycollection/29981833

依赖库

requests
selenium
rsa
polib
web.py
regex
iso-639
qrcode
Js2Py
用户名密码登录部分参考了Bilibili-Toolkit的登录部分代码。

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
由于死🐴的Cloudflare的防BOT检测,现在已经无法自动更新/下载compiler.jar,请去这里下载compiler.jar,没有该文件将无法进行编译。(貌似目前没有防BOT检测)

WEB用户界面

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

过滤弹幕

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

翻译

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

其他

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

全弹幕下载问题

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

FAQ

Release中每个文件的区别

  • bili_版本.7z 最简单的版本,需要自己下载/安装aria2c, chromedriver, ffmpeg, Python3.6+
  • bili_版本_linux.7z 最简单的版本加上Linux版的chromedriver
  • bili_版本_mac.7z 最简单的版本加上Mac版的chromedriver
  • bili_版本_windows.7z 最简单的版本加上Windows版的chromedriver
  • bili_版本_windows10_x64.7z 编译成exe的版本,可以直接在64位Windows10上运行。自带aria2c, chromedriver, ffmpeg
  • bili_版本_windows10_x64.exebili_版本_windows10_x64.7z的安装包版本
  • bili_版本_windows_x64.7z 自带Python3.8.6, aria2c, chromedriver, ffmpeg,双击bat文件即可直接在windows7及以上的64位系统中运行
  • bili_版本_windows_x64.exebili_版本_windows_x64.7z的安装包版本
  • bili_版本_windows_x86.7z 自带Python3.8.6, aria2c, chromedriver, ffmpeg,双击bat文件即可直接在windows7及以上的32位系统中运行
  • bili_版本_windows_x86.exebili_版本_windows_x86.7z的安装包版本

建议选择后4个版本。

无法输入密码

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

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

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

默认下载位置在哪

默认下载位置在程序所在目录下的Download文件夹。
如果使用安装包安装的话,程序所在目录默认在%appdata%/bili%appdata%/bili x86%appdata%/bili x64

要不要使用ffmpeg, arai2c

建议都使用。
ffmpeg是用来自动合并分离的视频的。
aria2c可以极大地改善下载的体验。

如何批量下载

目前可以使用,隔开多个输入,也可以采用收藏夹等方式批量下载。
批量下载时建议配合命令行使用。(命令行的基础知识请自己搜索)
例如每次都选择下载方法4,可以使用py start.py -d4
更多的命令行指令可以采用py start.py -h查看。

闪退怎么办

目前除了windows_x64和windows_x86的batch脚本外,另外的版本都会在运行完毕后直接退出(无论程序是否出现错误)。
如果是主程序,可以在设置里启用写入日志到文件,然后去程序所在目录下的log文件夹寻找日志。如果出现错误,你可以在最后面看到错误的具体信息。

aria2c的几个下载设置是什么意思

aria2c是一个多线程下载工具。
多线程下载简单理解就是把1个文件分成n部分,每一部分同时下载。
同时下载的部分数越多,一般速度也就越快。
有关aria2c的设置:
是否启用aria2c:建议是,使用aria2c可以提供更好的下载体验(下载速度快)
使用aria2c时单个服务器最大连接数和单个文件最大连接数:这两者共同来限制最多能有多少部分能够同时下载。因此调大这两者可以增加同时下载的部分数,从而使速度加快。
使用aria2c时文件分片大小:aria2c是根据文件分片大小来将1个文件分成n部分。假设有1个100M的文件,文件分片大小是20M,因此这个文件将会被分成5部分。当文件大小不足文件分片大小的2倍时,这个文件将不会被分成n部分,而是当作一个整体下载。调小这个可以时文件被分成的部分数加多,一定程度上可以加快速度。
注:如果出现0b/s的情况,说明暂时被BiliBili CDN封禁,请适当调整上述参数以降低同时下载的部分数。
在使用aria2c下载时使用备用网址:建议开着,这样可以同时从多个CDN服务器下载内容,加快下载速度。
使用aria2c下载时文件预分配方式:这个一般建议保持默认值。
在使用aria2c时最大总体速度(B/s):这个根据个人需求设置吧。

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp