268bffa7d9219fbb5f4633dd420de8051c95749c
Bilibili 视频下载器
一个基于 bilibili-api-python 的 B 站视频下载工具,支持自动发现相关视频并批量下载。
功能特性
- 🎥 支持 B 站视频下载
- 🔄 自动发现并下载相关视频
- 📝 持久化保存已下载视频记录(基于 bvid 去重)
- 🚀 多线程下载,后台自动处理
- 💾 自动合并音视频流
环境要求
- Python 3.10+
- ffmpeg
- 网络连接
安装依赖
pip install bilibili-api-python
安装 ffmpeg
Windows
方法一:使用 winget(推荐)
winget install ffmpeg
方法二:手动安装
- 访问 ffmpeg 官网 或 BtbN FFmpeg Builds
- 下载 Windows 版本的 ffmpeg(选择
ffmpeg-master-latest-win64-gpl.zip) - 解压到
C:\ffmpeg目录 - 将
C:\ffmpeg\bin添加到系统环境变量 PATH 中:- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」中找到 Path,点击「编辑」
- 添加
C:\ffmpeg\bin - 点击「确定」保存
方法三:使用 Chocolatey
choco install ffmpeg
macOS
使用国内 Homebrew 镜像安装(推荐)
由于网络原因,建议使用国内镜像源:
1. 配置 Homebrew 国内镜像
# 替换 Homebrew 源
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"
# 重置 Homebrew
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
2. 安装 ffmpeg
brew install ffmpeg
使用官方 Homebrew 安装
# 安装 Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 ffmpeg
brew install ffmpeg
Linux
Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
CentOS/RHEL/Fedora
CentOS/RHEL:
sudo yum install epel-release
sudo yum install ffmpeg
Fedora:
sudo dnf install ffmpeg
Arch Linux
sudo pacman -S ffmpeg
使用 Snap 安装
sudo snap install ffmpeg
使用方法
1. 运行程序
python spider.py
2. 输入视频链接
程序启动后,会显示提示符:
==================================================
Bilibili Video Downloader
==================================================
Download worker started in background
Enter bilibili video URLs to download
Related videos will be automatically discovered and queued
Type 'quit' to exit
==================================================
input worker started, waiting for URLs...
Enter a bilibili URL (or 'quit' to exit):
>
3. 输入 B 站视频链接
支持的链接格式:
https://www.bilibili.com/video/BV1xx411c7mDhttps://b23.tv/xxxxx- 直接输入 bvid:
BV1xx411c7mD
示例:
> https://www.bilibili.com/video/BV1xx411c7mD
added to queue: BV1xx411c7mD, queue size: 1
4. 自动下载
- 程序会在后台自动下载队列中的视频
- 下载完成后会自动发现相关视频并添加到队列
- 已下载的视频会记录在
downloaded_bvids.txt文件中,避免重复下载
5. 退出程序
> quit
stopping...
文件说明
spider/
├── spider.py # 主程序
├── downloaded_bvids.txt # 已下载视频记录(自动生成)
├── downloads/ # 下载目录(自动生成)
│ ├── BV1xx411c7mD_视频标题.mp4
│ └── ...
├── requirements.txt # Python 依赖
└── README.md # 本文件
注意事项
- 首次运行:程序会自动查找 ffmpeg,请确保已正确安装
- 下载位置:视频默认下载到
downloads/目录 - 去重机制:程序基于 bvid 进行去重,已下载的视频不会重复下载
- 网络要求:需要稳定的网络连接,建议使用国内网络环境
- 存储空间:请确保有足够的磁盘空间存储视频
常见问题
Q: 提示 "ffmpeg not found"
A: 请按照上述安装教程安装 ffmpeg,并确保添加到系统环境变量中。
Q: 下载速度慢
A: 下载速度取决于网络环境和 B 站服务器,建议在网络较好的时段下载。
Q: 如何重新下载已下载的视频
A: 删除 downloaded_bvids.txt 文件中对应的 bvid 行,或删除整个文件重新开始。
Q: 程序卡住不动
A: 可能是网络问题,可以按 Ctrl+C 终止程序后重新运行。
许可证
MIT License
致谢
- bilibili-api-python - B 站 API 库
- FFmpeg - 音视频处理工具
Description
Languages
Python
100%