Skip to content

下载B站视频到本地(包含高清视频的下载)

Notifications You must be signed in to change notification settings

Rosyrain/BiliDownload

Repository files navigation

BilibiliDownloadVideo

免责声明:

大家请以学习为目的使用本仓库,爬虫违法违规的案件:https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China

本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。

关于FFmpeg可查看相关安装文档。Windows 10 安装 FFmpeg 并设置环境变量_ffmpeg 系统变量-CSDN博客

如果对你有用,请点一个star~~


项目重构完成 - 全新PyQt6界面!

本项目已从原始的tkinter界面重构为现代化的PyQt6界面,提供更好的用户体验和功能扩展性。

✨ 新版本主要特性

  • 现代化界面: 采用PyQt6构建,界面美观现代
  • 响应式设计: 支持窗口大小调整,适配不同屏幕
  • 模块化架构: 清晰的代码结构,易于维护和扩展
  • 智能分类管理: 支持嵌套分类,自动创建文件夹
  • 强大文件管理: 内置文件浏览器,支持搜索和右键操作
  • 完善配置系统: 支持多种下载参数和界面设置
  • 多线程下载: 下载不阻塞界面,支持进度显示

🎯 快速开始

环境要求

  • Python 3.8+
  • FFmpeg (用于音视频合并)

安装依赖

pip install -r requirements.txt

运行程序

# 方式1: 使用启动脚本
python run.py

# 方式2: 直接运行主程序
python main.py

# 方式3: 测试项目结构
python test/test_imports.py

# 方式4: 测试日志系统
python test/test_logger.py

# 方式5: 测试FFmpeg配置
python test/test_ffmpeg_config.py

使用指南

1. 下载管理

  • 在"下载管理"标签页中输入B站视频链接
  • 点击"获取标题"自动获取视频信息
  • 选择保存路径和分类
  • 点击"开始下载"开始下载

2. 文件管理

  • 在"文件管理"标签页中浏览下载的文件
  • 支持文件搜索、预览、右键操作
  • 可快速跳转到文件所在目录

3. 分类管理

  • 在"分类管理"标签页中创建自定义分类
  • 支持嵌套分类结构
  • 每个分类对应一个文件夹

4. 设置配置

  • 在"设置"标签页中配置各种参数
  • 包括下载路径、FFmpeg路径、网络设置等

项目结构

BiliDownload/
├── src/                    # 源代码目录
│   ├── core/              # 核心功能模块
│   │   ├── downloader.py  # 下载器核心
│   │   ├── config_manager.py  # 配置管理
│   │   ├── file_manager.py    # 文件管理
│   │   └── logger.py      # 日志系统
│   └── ui/                # 用户界面模块
│       ├── main_window.py # 主窗口
│       ├── download_tab.py    # 下载标签页
│       ├── file_manager_tab.py    # 文件管理标签页
│       ├── category_tab.py   # 分类管理标签页
│       └── settings_tab.py   # 设置标签页
├── test/                   # 测试文件目录
│   ├── test_imports.py    # 模块导入测试
│   ├── test_logger.py     # 日志系统测试
│   ├── test_ffmpeg_config.py  # FFmpeg配置测试
│   └── README.md          # 测试说明文档
├── doc/                    # 文档目录
│   ├── CONFIG_README.md   # 配置文件说明
│   ├── dev_log.md         # 开发日志
│   ├── config_template.ini # 配置文件模板
│   └── README.md          # 文档说明
├── data/                   # 数据存储目录
│   └── default/           # 默认下载目录
├── logs/                   # 日志文件目录
├── main.py                # 程序入口
├── run.py                 # 启动脚本
├── requirements.txt        # 依赖包列表
├── config.ini             # 配置文件
├── .gitignore             # Git忽略文件
└── README.md              # 项目说明

技术架构

  • GUI框架: PyQt6
  • 设计模式: MVC架构
  • 模块化: 插件化设计,易于扩展
  • 配置管理: INI + JSON混合配置
  • 多线程: 异步下载,不阻塞界面

开发日志

详细的开发日志请查看 dev_log.md 文件。


原始版本说明

B站视频爬取器的使用

上面两个程序,一个负责爬取系列类型,一个负责爬取单个视频;因为有时候系列类型的爬取会导致个别视频没有抓取到,为了方便可以使用第二个进行单个视频的抓取

使用过程

1. 点击上述的两个程序

2. 依次进行选择(点击按钮即可进行选择)

其中FFpeg.exe存在于

保存路径:可自行选择文件夹,或者选择提供的data文件夹中

获取视频名称:系列类型的需要自行提供,会根据提供名加下标保存视频,如提供的是 Go学习 , 那么依次保存为 Go学习_1.mp4,Go学习_2.mp4 ………

视频地址如下显示的内容

3. 可在黑窗口中观察程序的运行情况

4.运行可能出现如教程中点击开始爬取后,没有正常运行起来,抓取视频,可以多点击几次进行尝试。

5.添加cookie获取高清视频,在单个B站视频爬取的讲解视频中会说明(ps:一定要在登录状态下的cookie才能实现高清视频的下载)

免责声明

1. 项目目的与性质

本项目(以下简称“本项目”)是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。

2. 法律合规性声明

本项目开发者(以下简称“开发者”)郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。

3. 使用目的限制

本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。

4. 免责声明

开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。

5. 知识产权声明

本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。

6. 最终解释权

关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。

About

下载B站视频到本地(包含高清视频的下载)

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages