fix:移除了需要链接数据库的问题
This commit is contained in:
221
Readme.md
221
Readme.md
@@ -1,35 +1,218 @@
|
||||
# 所需环境
|
||||
python=3.10
|
||||
# Bilibili 视频下载器
|
||||
|
||||
ffmpeg
|
||||
一个基于 bilibili-api-python 的 B 站视频下载工具,支持自动发现相关视频并批量下载。
|
||||
|
||||
## 功能特性
|
||||
|
||||
# 所需数据库
|
||||
- 🎥 支持 B 站视频下载
|
||||
- 🔄 自动发现并下载相关视频
|
||||
- 📝 持久化保存已下载视频记录(基于 bvid 去重)
|
||||
- 🚀 多线程下载,后台自动处理
|
||||
- 💾 自动合并音视频流
|
||||
|
||||
## 环境要求
|
||||
|
||||
- Python 3.10+
|
||||
- ffmpeg
|
||||
- 网络连接
|
||||
|
||||
## 安装依赖
|
||||
|
||||
```bash
|
||||
mongo:可以自建也可以使用
|
||||
pip install bilibili-api-python
|
||||
```
|
||||
[免费的云](https://cloud.mongodb.com)
|
||||
|
||||
# 使用
|
||||
## 安装 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
|
||||
pip install -r requerment.txt
|
||||
# 替换 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
|
||||
MONGO_URI = "mongodb://192.168.28.9:27017/"
|
||||
```
|
||||
## 检查ffmpeg是否下载
|
||||
```
|
||||
ffmpeg --version
|
||||
# 未下载需要下载 brew install ffmpeg
|
||||
brew install ffmpeg
|
||||
```
|
||||
|
||||
## 将数据写入到urls.txt中
|
||||
#### 使用官方 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/) - 音视频处理工具
|
||||
Reference in New Issue
Block a user