Skip to content

RyrieNorth/bilibili_video_download_reburn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bilibili_video_download_reburn

一个简单的用于下载 Bilibili 视频的 Python 工具,支持单P与多P视频下载
基于 SocialSisterYi/bilibili-API-collect 开发
v0.3 版本开始已将 windowslinux 版本区分
v0.4版本新增番剧下载功能

功能

  • 支持单P与多P视频下载
  • 支持视频和音频分开下载
  • 自动选择视频质量
  • 合并视频和音频为 MP4 格式

环境要求

  • Python 3.6 或更高版本
  • requests, qrcode, windows 还会需要PyQt5, PyQt5-tools 库 ( v0.3 版本仅需requestsqrcode库)
  • Aria2c 工具(用于下载视频)(已集成在tools文件夹中)
  • FFmpeg 工具(用于合并视频和音频)(已集成在tools文件夹中且已经过裁剪)

安装方式

  1. 克隆安装:
    git clone https://github.com/RyrieNorth/bilibili_video_download_reburn.git
    cd bilibili_video_download_reburn/
    python setup.py install
    
  2. 从release中下载安装(注意版本信息):
    wget https://github.com/RyrieNorth/bilibili_video_download_reburn/releases/download/v0.4/bilibili_video_download_reburn_for_windows-0.4-py3-none-any.whl
    pip install bilibili_video_download_reburn_for_windows-0.4-py3-none-any.whl
    
  3. 如何卸载:
    pip list # 查找bilibili_video_download相关字眼, 例如:bilibili-video-download-reburn-for-windows
    pip uninstall bilibili-video-download-reburn-for-windows
    无论是直接从 python setup.py install 还是在 pip 卸载方式都一样
    

配置文件详情

  1. 默认配置
    {
      "url": {
        "get_qrcode": "https://passport.bilibili.com/x/passport-login/web/qrcode/generate",   //获取二维码
        "check_qrcode_scan": "https://passport.bilibili.com/x/passport-login/web/qrcode/poll",   //查询二维码状态
        "play_api": "https://api.bilibili.com/x/player/playurl",   //播放器api
        "convert_cid": "https://api.bilibili.com/x/player/pagelist",   //将bvid转为cid
        "login_url": "https://api.bilibili.com/x/web-interface/nav",   //查询用户登录状态
        "video_info": "https://api.bilibili.com/x/web-interface/view",   //查询视频详细信息
        "get_anime": "http://api.bilibili.com/pgc/view/web/season"   //解析番剧bvid
      },
      "basic_headers": {
        "user-agent": "Mozilla/5.0",
        "referer": "https://www.bilibili.com"   //b站视频的防盗链,勿删,否则视频会无法下载
      },
      "video": {
        "video_path": "video"   //视频的存放路径,可修改
      },
      "aria2c": {
        "continue": "true",   //是否启用aria2断点续传,该选项用于网络环境不好的情况下使用,建议为true
        "split": "16",   //分片下载,这里设置16片,最大可设32,过大的会话可能会被服务器限流
        "max_connection_per_server": "8"   //服务器最大连接数,某些地方的网络可能会限制会话,若出现视频下载未响应请调整,默认为5
      }
    }
    

使用方式

  1. 在终端直接运行:
    bl_download <BV号/番剧号> 

替换 <BV号> 为你要下载的视频 BV/番剧 号。(期间若没有登陆成功会触发登陆逻辑)

  1. 作为库使用:
    from bilibili_video_download import main
    video_id = "BV1Gg411L7zg"
    main(vedeo_id)
    
    from bilibili_video_download import main
    video_id = "ep1349841"
    main(video_id)
  2. 使用演示
    当cookies信息不存在时:

    show_1

命令行演示:

show_2

作为库调用运行:

show_3

单P模式(旧版):
1

多P模式(旧版):
1

视频信息:
image

关于字符集

  1. 由于我当前环境下的Windows CMD代码页为GBK(936), 字体为新宋体, 这样会导致二维码显示异常, 如下图: qr_err
  2. 解决方式为, 修改CMD代码页与字体, 如下图: zifu ziti

须知

  1. 非登录用户只能下载360P视频
  2. 非大会员用户只能下载低码率1080P视频
  3. 1080P+,1080P60,4k,8k,杜比,Hi-Res等视频需要账号性质为大会员方得下载

已知问题

  1. 在Linux下使用时无法正常显示进度条(测试环境:CentOS 7.9 2009、RockyLinux 9.3), 故推荐使用Windows平台运行本工具

About

一个简单的命令行交互式bilibili视频下载工具

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages