Files
spider/Readme.md

227 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Bilibili 视频下载器
一个基于 bilibili-api-python 的 B 站视频下载工具,支持自动发现相关视频并批量下载。
## 功能特性
- 🎥 支持 B 站视频下载
- 🔄 自动发现并下载相关视频
- 📝 持久化保存已下载视频记录(基于 bvid 去重)
- 🚀 多线程下载,后台自动处理
- 💾 自动合并音视频流
## 环境要求
- Python 3.10+
- ffmpeg
- 网络连接
## 安装依赖
```bash
# 安装 bilibili-api
pip install bilibili-api-python
# 安装 you-get用于下载视频
pip install you-get
# 安装其他依赖库
pip3 install aiohttp
pip3 install httpx
pip3 install "curl_cffi"
```
## 安装 ffmpeg
### Windows
#### 方法一:使用 winget推荐
```powershell
winget install ffmpeg
```
#### 方法二:手动安装
1. 访问 [ffmpeg 官网](https://ffmpeg.org/download.html) 或 [BtbN FFmpeg Builds](https://github.com/BtbN/FFmpeg-Builds/releases)
2. 下载 Windows 版本的 ffmpeg选择 `ffmpeg-master-latest-win64-gpl.zip`
3. 解压到 `C:\ffmpeg` 目录
4.`C:\ffmpeg\bin` 添加到系统环境变量 PATH 中:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」中找到 Path点击「编辑」
- 添加 `C:\ffmpeg\bin`
- 点击「确定」保存
#### 方法三:使用 Chocolatey
```powershell
choco install ffmpeg
```
### macOS
#### 使用国内 Homebrew 镜像安装(推荐)
由于网络原因,建议使用国内镜像源:
**1. 配置 Homebrew 国内镜像**
```bash
# 替换 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**
```bash
brew install ffmpeg
```
#### 使用官方 Homebrew 安装
```bash
# 安装 Homebrew如果未安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 ffmpeg
brew install ffmpeg
```
### Linux
#### Ubuntu/Debian
```bash
sudo apt update
sudo apt install ffmpeg
```
#### CentOS/RHEL/Fedora
**CentOS/RHEL**
```bash
sudo yum install epel-release
sudo yum install ffmpeg
```
**Fedora**
```bash
sudo dnf install ffmpeg
```
#### Arch Linux
```bash
sudo pacman -S ffmpeg
```
#### 使用 Snap 安装
```bash
sudo snap install ffmpeg
```
## 使用方法
### 1. 运行程序
```bash
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/BV1xx411c7mD`
- `https://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 # 本文件
```
## 注意事项
1. **首次运行**:程序会自动查找 ffmpeg请确保已正确安装
2. **下载位置**:视频默认下载到 `downloads/` 目录
3. **去重机制**:程序基于 bvid 进行去重,已下载的视频不会重复下载
4. **网络要求**:需要稳定的网络连接,建议使用国内网络环境
5. **存储空间**:请确保有足够的磁盘空间存储视频
## 常见问题
### Q: 提示 "ffmpeg not found"
A: 请按照上述安装教程安装 ffmpeg并确保添加到系统环境变量中。
### Q: 下载速度慢
A: 下载速度取决于网络环境和 B 站服务器,建议在网络较好的时段下载。
### Q: 如何重新下载已下载的视频
A: 删除 `downloaded_bvids.txt` 文件中对应的 bvid 行,或删除整个文件重新开始。
### Q: 程序卡住不动
A: 可能是网络问题,可以按 `Ctrl+C` 终止程序后重新运行。
## 许可证
MIT License
## 致谢
- [bilibili-api-python](https://github.com/MoyuScript/bilibili-api-python) - B 站 API 库
- [FFmpeg](https://ffmpeg.org/) - 音视频处理工具