you-get下载B站视频

库存

you-get介绍

https://github.com/soimort/you-get

  • you-get是一个命令行工具,可以下载知名网站的视频

  • 支持的网站有

     https://github.com/soimort/you-get#supported-sites
    • B站、优酷、iqiyi等号称都支持(未测试)

you-get安装

  • pip安装即可

     pip install you-get
  • 安装完毕可以在python主目录下看到you-get.exe

B站视频下载

若有侵权,联系删除

单个视频

  • 以计算机速成课:https://www.bilibili.com/video/BV1EW411u7th?p=1,为例

  • 我们打开命令行就可以直接下载该视频

      you-get https://www.bilibili.com/video/BV1EW411u7th?p=1
     you-get: This is a multipart video. (use --playlist to download all parts.)
     site:               Bilibili
     title:               【计算机科学速成课】[40集全/精校] - Crash Course Computer Science (P1. 1. 计算机早期历史-Early Computing)
     stream:
         - format:       dash-flv
          container:     mp4
          quality:       高清 1080P
          size:          95.9 MiB (100564888 bytes)
         # download-with: you-get --format=dash-flv [URL]
     ​
     Downloading 【计算机科学速成课】(40集全-精校) - Crash Course Computer Science (P1. 1. 计算机早期历史-Early Comput.mp4 ...
      100% ( 95.9/ 95.9MB) ├████████████████████████████████████████┤[2/2]    9 MB/s
     Merging video parts... Merged into 【计算机科学速成课】(40集全-精校) - Crash Course Computer Science (P1. 1. 计算机早期历史-Early Comput.mp4
     ​
     Downloading 【计算机科学速成课】(40集全-精校) - Crash Course Computer Science (P1. 1. 计算机早期历史-Early Comput.cmt.xml ...
  • 观察输出信息,可以看到我们下载了1个视频,还有xml文件

  • 如果不需要xml

      you-get --playlist --no-caption https://www.bilibili.com/video/BV1EW411u7th?p=1

系列视频

所谓的系列视频就是尾部的?p=1是连续的

以前没有这个参数的时候我还写了个python代码封装了下,现在直接就用参数搞定了。

  • 头部有个提示非常重要:This is a multipart video. (use --playlist to download all parts.)

  • 我们可以使用命令下载所有该系列的视频

      you-get --playlist https://www.bilibili.com/video/BV1EW411u7th?p=1

视频列表

  • 比如码农高天的《不基础的python基础》

     https://www.bilibili.com/video/BV1ju411z7Sy/?spm_id_from=333.788&vd_source=d61c58dca32c5d3ac2ed193c3abdd530
    • 目前没想到好的办法处理

附录:命令行参数

  • 你可以忽略这部分

  • 参数可以通过you-get --help得到,常用的并不多。

    • -O FILE 输出到指定文件名

    • -o DIR 输出到某个目录下

 Download options:
  -n, --no-merge       Do not merge video parts
  --no-caption         Do not download captions (subtitles, lyrics, danmaku, ...)
  --postfix             Postfix downloaded files with unique identifiers
  -f, --force           Force overwriting existing files
  --skip-existing-file-size-check
                        Skip existing file without checking file size
  -F STREAM_ID, --format STREAM_ID
                        Set video format to STREAM_ID
  -O FILE, --output-filename FILE
                        Set output filename
  -o DIR, --output-dir DIR
                        Set output directory
  -p PLAYER, --player PLAYER
                        Stream extracted URL to a PLAYER
  -c COOKIES_FILE, --cookies COOKIES_FILE
                        Load cookies.txt or cookies.sqlite
  -t SECONDS, --timeout SECONDS
                        Set socket timeout
  -d, --debug           Show traceback and other debug info
  -I FILE, --input-file FILE
                        Read non-playlist URLs from FILE
  -P PASSWORD, --password PASSWORD
                        Set video visit password to PASSWORD
  -l, --playlist       Prefer to download a playlist
  -a, --auto-rename     Auto rename same name different files
  -k, --insecure       ignore ssl errors
  -m, --m3u8           download video using an m3u8 url
 ​
 Playlist optional options:
  --first FIRST         the first number
  --last LAST           the last number
  --size PAGE_SIZE, --page-size PAGE_SIZE
                        the page size number
 ​
 Proxy options:
  -x HOST:PORT, --http-proxy HOST:PORT
                        Use an HTTP proxy for downloading
  -y HOST:PORT, --extractor-proxy HOST:PORT
                        Use an HTTP proxy for extracting only
  --no-proxy           Never use a proxy
  -s HOST:PORT or USERNAME:PASSWORD@HOST:PORT, --socks-proxy HOST:PORT or USERNAME:PASSWORD@HOST:PORT
                        Use an SOCKS5 proxy for downloading
 

you-get下载B站视频的更多相关文章

  1. 使用终端批量下载 B 站视频

    需要使用一个叫做 you-get 的命令行程序 可以通过 Homebrew 安装(macOS), 安装命令为 brew install you-get, 其他平台的安装可参考 Github 主页: s ...

  2. 批量下载B站视频

    一个一个下载:https://www.zhihu.com/question/41367609 WSDAB的回答批量下载:https://www.zhihu.com/question/49793759( ...

  3. B站视频下载(VideoHelper)

    继续上次的知乎爬虫, 这次开始了哔哩哔哩的爬虫实践: 首先介绍下如何下载吧: VideoHelper 里面有三种方式下载b站视频. 同样的流程, 还是先抓包,分析参数,寻找参数(包括之前的请求包和页面 ...

  4. b站视频下载技术分享

    最近无聊分析了一下b站的视频流协议,简单分享下爬取的流程. 首先先要找到视频对应的aid和cid,aid就相当于av号,而av号对应网页下的每一个视频都有对应的cid,普通视频就是分p,番剧就是集数, ...

  5. 如何下载B站哔哩哔哩(bilibili)弹幕网站上的视频呢?小白教你个简单方法

    对于90后.00后来说,B站肯定听过吧.小编有一个苦恼的地方,有时候想把哔哩哔哩(bilibili)上看到的视频保存到手机相册,不知道咋操作啊.网上百度了下,都是要下载电脑软件的,有些还得要付费的.前 ...

  6. b站视频_下载_去水印_视频转mp4-批量下载神器

    b站下载_视频_去水印_转mp4_批量下载的解决办法 以下问题均可解决 b站下载的视频如何保存到本地 b站下载的视频在那个文件夹里 b站下载视频转mp4 b站下载app b站下载在哪 b站下载视频电脑 ...

  7. 大学MOOC课程视频下载、流文件合并、批量重命名、b站视频下载及学习课程视频推荐

    计算机行业技术更新快,编程语言种类多,在当今大数据和人工智能的时代,为了能在相关领域有所成就,就必须掌握好python.R等语言,较好的数学基础和深入的行业背景知识.计算机从业人员务必践行" ...

  8. 利用Selenium和Browsermob批量嗅探下载Bilibili网站视频

    Rerence: http://www.liuhao.me/2016/09/20/selenium_browsermob_sniff_bilibili_video/ 日常生活中,用电脑看视频是非常频繁 ...

  9. Python批量合并处理B站视频

    最近想学习后端,又不想花钱,怎么办呢?于是在手机端B站(哔哩哔哩)上面找到了满意的免费视频教程,但是手机端看起来很不方便啊.于是,我通过在手机端缓存下来后,导入到了电脑端,但是我后面了发现两个问题: ...

  10. 【玩具】获取B站视频的音频片段

    事情是这样的,我有个和社畜的社会地位不太相符的小爱好--听音乐剧. 基本上是在B站上点开视频听,不是不想在网易云或者QQ音乐听,只是在这些音乐软件上面,我想听的片段要不就收费,要不版本不是我喜欢的,要 ...

随机推荐

  1. K3S 安装及配置

    K3S安装 curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_ ...

  2. CAN总线数据链路层(一)

    1.通信机制 发送报文. 1.首先检测Bus状态,空闲 则发送 报文且回读         2.线与机制,若有两个节点同时发报文          报文结构:          通过ID进行仲裁(规则 ...

  3. 简单使用Nginx反向代理和负载均衡

    配置文件主要是三点: events . http . server 配置反向代理和负载均衡策略 #配置tomcat的IP地址和访问端口||负载均衡:权重就是比例 upstream guotong { ...

  4. MongoDB海量数据分页查询优化

    MongoDB海量数据分页查询优化 一.背景 大量数据需从Mongo拿出来,一次性拿出来不科学,传统分页效率低下 二.传统方案 就是最常规的方案,假设 我们需要对文章 articles 这个表(集合) ...

  5. CyclicBarrier循环屏障源码解析(基于jdk11)

    目录 CyclicBarrier循环屏障源码解析(基于jdk11) 1.1 CyclicBarrier概述 1.2 CyclicBarrier原理 1.2.1 基本结构(jdk11) 1.2.2 aw ...

  6. (小白向)2020-12-18 中国大学MOOC第十二讲-动态变量应用

    1创建单向链表(10分) 问题描述:根据随机输入的若干非零整数,以数字0结束:建立一个新链表. 输入:随机输入若干个整数,以数字0结束 输出:新建链表中个节点的值,数字间没有间隔字符. 样例:输入 5 ...

  7. windows上用vs2017静态编译onnxruntime-gpu CUDA cuDNN TensorRT的坎坷之路

    因为工作业务需求的关系,需编译onnxruntime引入项目中使用,主项目exe是使用的vs2017+qt5.12. onnxruntime就不用介绍是啥了撒,在优化和加速AI机器学习推理和训练这块赫 ...

  8. 基于.NetCore开发博客项目 StarBlog - (24) 统一接口数据返回格式

    前言 开发接口,是给客户端(Web前端.App)用的,前面说的RESTFul,是接口的规范,有了统一的接口风格,客户端开发人员在访问后端功能的时候能更快找到需要的接口,能写出可维护性更高的代码. 而接 ...

  9. JavaScript:显式转换数据类型:如何转换为数值、字符串和布尔值类型?

    JS的运算符以及某些内置函数,会自动进行数据类型的转换,方便计算,即隐式转换数据类型: 但是很多时候,我们希望可以手动控制数据类型的转换,即显示转换数据类型: 转换为字符串 String()函数 使用 ...

  10. ctfshow——萌新web3

    题目如下: 源码分析: 通过id可以传入一个参数,对id的值进行了过滤,这里是正则匹配过滤,内容分析:or,-,\,*,<,>,!,x,hex,+.最外面的i是同时匹配过滤内容的大小写.在 ...