Files
spider/Readme.md

5.1 KiB
Raw Blame History

Bilibili 视频下载器

一个基于 bilibili-api-python 的 B 站视频下载工具,支持自动发现相关视频并批量下载。

功能特性

  • 🎥 支持 B 站视频下载
  • 🔄 自动发现并下载相关视频
  • 📝 持久化保存已下载视频记录(基于 bvid 去重)
  • 🚀 多线程下载,后台自动处理
  • 💾 自动合并音视频流

环境要求

  • Python 3.10+
  • ffmpeg
  • 网络连接

安装依赖

# 安装 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推荐

winget install ffmpeg

方法二:手动安装

  1. 访问 ffmpeg 官网BtbN FFmpeg Builds
  2. 下载 Windows 版本的 ffmpeg选择 ffmpeg-master-latest-win64-gpl.zip
  3. 解压到 C:\ffmpeg 目录
  4. 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/BV1xx411c7mD
  • https://b23.tv/xxxxx
  • 直接输入 bvidBV1xx411c7mD

示例:

> 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

致谢