路人神对话

看B站的时候,有时候看到很喜欢的总想下载下来,虽然APP里提供了下载,但奈何下载的格式不知道是什么格式,无法在其他播放器里看,于是就想下载到电脑本地播放。当然,就目前而言,WiFi和流量其实足以替代大部分硬件存储。所以这个需求不是很高,只是个人爱好。

那么什么视频是可以下载,什么视频不能下载呢?

可以这么说:只要你能在网页观看的视频,都是可以下载的,因为你的浏览器接受到了视频文件才能播放,而我们只需要获取到这些文件就行。当然这依个人技术和网站,有些网站就是不让你下载,层层加密,一般人破解不了,但这只是个别,大部分还是正常的,因为要层层加密网站开发可是要多出钱的。加密的话一般是将视频的接口加密,也有在视频文件上做手脚的。

现在我们就B站举个例子

首先,打开某个视频链接,按F12,然后将所有的数据清除,点击播放视频,这样network里面就有很多数据
接着,我们一条一条数据看,直到你看到下面这样的

那么,右边的这些是什么意思呢,这是二进制数据,所有以文本格式打开会显示乱码,这些大概率是视频文件,图片的话浏览器是会正常显示的。我们接着看headers里的信息。
我们来解读一下headers里面的信息

Request URL: **发起请求的URL,视频的下载地址**
Request Method: 请求的类型,视频下载正常为GET
Status Code: 状态码,206的话说明链接下的文件是支持range参数的,也就是说我请求头里加一个range参数,说明你想要文件的哪一段,这为文件的断点续传和多进程下载提供了便利
Remote Address: 服务器地址,没什么软用

解读其他

接着看响应头(response headers):

Content-Length: 返回文件长度
Content-Range: bytes4389834-4589025/24268406 (文件位置和总长度,单位字节)
content-type: video/mp4 ,文件类型

这三个是我们看中的,其他没什么用

请求头(requests headers)
Provisional headers are shown ,这句话是谷歌浏览器的毛病,只会显示一部分请求头,如果爬虫不会返回数据,则需要使用抓包软件查看完整请求头了

Origin: 值不重要,加入爬虫头信息就行
Range:bytes=4389834-4589025 ,你要请求的数据
Referer:访问的上一个页面,一般会动态构建,比如av地址
User-Agent: 这个不多说

我们先分析URL是怎么来的,看一下没什么规律,应该不是动态构建的(如果是则需要查看想要js代码),那么要么是通过接口返回的,要么是在从原网页中和网页结构一起返回的,比如https://www.bilibili.com/video/av49336067/。我们先刷新一下页面,将请求URL为https://www.bilibili.com/video/av49336067/链接的response的内容负责到记事本,Ctrl+f搜索刚才视频的链接,如果没有则搜索链接里面的一些关键词,应该有可能数据在js里面,然后动态构建的。

接着今天教材结束,因为视频链接确实在网页返回的数据中,不过当一个网页含有多个视频的时候,就有一点小小的区别,这时候网页数据里没有视频链接,需要带上aid和cid请求另一个接口得到视频的下载地址,这里就不多说了,具体看代码或者自己去尝试。B站没有任何加密很简单。

代码:https://github.com/kanadeblisst/BDVide

【小技巧】一招教你下载b站视频到本地相关推荐

  1. 如何下载B站视频到本地?

    解析网站:贝贝BiliBili 复制B站链接,或者输入BV号.点击 " 解析视频 " . 在下方的视频播放窗口可以进行预览,如果正确," 右键 " - &quo ...

  2. 每天一个前端小技巧——生成gif动图下载

    每天一个前端小技巧--生成gif动图下载 动态热图的展现,分别展现某个时间段的热图时间变化,例如:最近一周七天内,每天的热图分布变化图:这个动态变化的图生成一个gif图提供下载是否可行? 实现方案: ...

  3. 送书 | 教你下载B站指定视频

    大家好!我是啃书君! 不知道大家有没有下载自己喜欢的视频的习惯,反正我就有.众所周知,b站是一个很好的学习知识平台,我们可以在b站学习各种各样的知识,但唯一的不足是b站没有提供下载视频的功能,遇到喜欢 ...

  4. 教你怎么用you-get精确下载B站视频及弹幕

    教你怎么用you-get精确下载B站视频及弹幕 1.安装相关环境及插件 2.安装you-get 3.使用you-get进行下载视频 1.安装相关环境及插件 安装Pythone 3 ,去官网下载可执行的 ...

  5. python批量下载b站_PYTHON批量下载B站视频小脚本

    无聊废话 最近在学习HCIE的视频,收藏了几个相关的视频,结果前几天...视频被下架了了...呃...(⊙o⊙)- 视频被下架 视频被下架了...我学了一半呀...哭... 在网上一顿找,依旧找不到. ...

  6. 如何下载b站视频 - 视频下载神器you-get的运用

    小伙伴们肯定碰到过发现了自己非常喜欢的视频,但是很多时候要莫是诸如b站不能下载,要么就是诸如腾讯视频需要vip下载,那么今天就给大家介绍一个用dos命令行下载视频的小技巧 使用这个命令的先决条件是需要 ...

  7. python下载B站视频(简单)

    python下载B站视频资料 众所周知,网页版的B站无法下载视频,然本人喜欢经常在B站学习,奈何没有网时,无法观看视频资源,手机下载后屏幕太小又不想看,遂写此程序以解决此问题 话不多说,进入正题 1. ...

  8. 如何通过一行代码下载B站视频?

    文章目录 如何通过一行代码下载B站视频? Step1:安装you-get Step2:下载B站视频 总结 如何通过一行代码下载B站视频? You-Get 是一个基于 Python 3 的下载工具.使用 ...

  9. 使用you-get批量下载B站视频

    描述是在Mac环境下使用iterm2进行的B站视频下载操作.具体方法如下: 1.需安装Python环境: 2.终端运行 pip/pip3 install you-get 命令,安装 you-get 包 ...

  10. selenium、you-get下载B站视频、监控播放量和弹幕

    selenium.you-get下载B站视频.监控播放量和弹幕 说明 完整代码 运行结果 说明 前两段代码是使用you-get下载视频,第一段是说明.第三段代码爬取b站视频的标题+播放量+弹幕数.注意 ...

最新文章

  1. 解题报告:X、骑士共存问题(最大独立集)(匈牙利 / 最大流)
  2. 程序员的十种级别 看看自己属于哪个级别?
  3. Input为number类型maxlength不好使,用js轻松解决
  4. 一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(3)--重新链接表单
  5. linux界面版admin,linux下Nginx+Django Admin界面无样式问题解决方法
  6. Eclipse Server runtime设置里找不到apache tomcat的处理方法
  7. (十九)【AAAI2021】Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommend
  8. HTTP笔记-SOAP基本概念
  9. 华为云牵手同舟共济伙伴 持续发力构建云核心生态圈
  10. 内核提速开机linux,Linux操作系统开机启动提速方法介绍。
  11. spine纹理解包 黑底_本期全欧美阵容!种草了艾玛罗的斑马纹,海狸的针织Bra【海报街拍】...
  12. Java使用Jacob转换Word为HTML
  13. win10配置计算机环境变量,教你win10怎么设置环境变量
  14. Geos库学习之(二)——使用Geos库创建简单的几何对象
  15. 自然人机交互到底“自然”在哪儿?
  16. 安卓如何实现图文混排
  17. 微型计算机原理顺序程序设计,微机原理实验,顺序实验.docx
  18. Android6.0M权限管理实战,完美轻量级封装
  19. 移动端 h5和原生交互的方式
  20. 移动端和前端开发的共性

热门文章

  1. SVN项目提交设置忽略上传资源
  2. 荣耀手机与无线电脑连接服务器,华为手机怎么实现无线连接PC电脑传输文件和图片...
  3. 卷积神经网络group群卷积以及group lasso
  4. 青岛科技大学计算机硕士就业,2021年青岛科技大学专业排行榜,哪个专业就业比较好...
  5. Machine Learning读书会,面试算法讲座,创业活动,算法班(历届汇总)
  6. 磁盘空间清理·微信文件夹
  7. 这个牛逼哄哄的数据库开源了
  8. CocosCreater 接入手Q (QQ小游戏)、小米快游戏 接入指南、脱坑指南
  9. qq设置头衔显示服务器异常,qq头衔如何设置
  10. 中企海外周报 | 宁德时代与大众拉美卡客车达成合作;亿航与沃达丰共建欧洲城市空中交通生态...