【小技巧】一招教你下载b站视频到本地
路人神对话
看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站视频到本地相关推荐
- 如何下载B站视频到本地?
解析网站:贝贝BiliBili 复制B站链接,或者输入BV号.点击 " 解析视频 " . 在下方的视频播放窗口可以进行预览,如果正确," 右键 " - &quo ...
- 每天一个前端小技巧——生成gif动图下载
每天一个前端小技巧--生成gif动图下载 动态热图的展现,分别展现某个时间段的热图时间变化,例如:最近一周七天内,每天的热图分布变化图:这个动态变化的图生成一个gif图提供下载是否可行? 实现方案: ...
- 送书 | 教你下载B站指定视频
大家好!我是啃书君! 不知道大家有没有下载自己喜欢的视频的习惯,反正我就有.众所周知,b站是一个很好的学习知识平台,我们可以在b站学习各种各样的知识,但唯一的不足是b站没有提供下载视频的功能,遇到喜欢 ...
- 教你怎么用you-get精确下载B站视频及弹幕
教你怎么用you-get精确下载B站视频及弹幕 1.安装相关环境及插件 2.安装you-get 3.使用you-get进行下载视频 1.安装相关环境及插件 安装Pythone 3 ,去官网下载可执行的 ...
- python批量下载b站_PYTHON批量下载B站视频小脚本
无聊废话 最近在学习HCIE的视频,收藏了几个相关的视频,结果前几天...视频被下架了了...呃...(⊙o⊙)- 视频被下架 视频被下架了...我学了一半呀...哭... 在网上一顿找,依旧找不到. ...
- 如何下载b站视频 - 视频下载神器you-get的运用
小伙伴们肯定碰到过发现了自己非常喜欢的视频,但是很多时候要莫是诸如b站不能下载,要么就是诸如腾讯视频需要vip下载,那么今天就给大家介绍一个用dos命令行下载视频的小技巧 使用这个命令的先决条件是需要 ...
- python下载B站视频(简单)
python下载B站视频资料 众所周知,网页版的B站无法下载视频,然本人喜欢经常在B站学习,奈何没有网时,无法观看视频资源,手机下载后屏幕太小又不想看,遂写此程序以解决此问题 话不多说,进入正题 1. ...
- 如何通过一行代码下载B站视频?
文章目录 如何通过一行代码下载B站视频? Step1:安装you-get Step2:下载B站视频 总结 如何通过一行代码下载B站视频? You-Get 是一个基于 Python 3 的下载工具.使用 ...
- 使用you-get批量下载B站视频
描述是在Mac环境下使用iterm2进行的B站视频下载操作.具体方法如下: 1.需安装Python环境: 2.终端运行 pip/pip3 install you-get 命令,安装 you-get 包 ...
- selenium、you-get下载B站视频、监控播放量和弹幕
selenium.you-get下载B站视频.监控播放量和弹幕 说明 完整代码 运行结果 说明 前两段代码是使用you-get下载视频,第一段是说明.第三段代码爬取b站视频的标题+播放量+弹幕数.注意 ...
最新文章
- 解题报告:X、骑士共存问题(最大独立集)(匈牙利 / 最大流)
- 程序员的十种级别 看看自己属于哪个级别?
- Input为number类型maxlength不好使,用js轻松解决
- 一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(3)--重新链接表单
- linux界面版admin,linux下Nginx+Django Admin界面无样式问题解决方法
- Eclipse Server runtime设置里找不到apache tomcat的处理方法
- (十九)【AAAI2021】Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommend
- HTTP笔记-SOAP基本概念
- 华为云牵手同舟共济伙伴 持续发力构建云核心生态圈
- 内核提速开机linux,Linux操作系统开机启动提速方法介绍。
- spine纹理解包 黑底_本期全欧美阵容!种草了艾玛罗的斑马纹,海狸的针织Bra【海报街拍】...
- Java使用Jacob转换Word为HTML
- win10配置计算机环境变量,教你win10怎么设置环境变量
- Geos库学习之(二)——使用Geos库创建简单的几何对象
- 自然人机交互到底“自然”在哪儿?
- 安卓如何实现图文混排
- 微型计算机原理顺序程序设计,微机原理实验,顺序实验.docx
- Android6.0M权限管理实战,完美轻量级封装
- 移动端 h5和原生交互的方式
- 移动端和前端开发的共性
热门文章
- SVN项目提交设置忽略上传资源
- 荣耀手机与无线电脑连接服务器,华为手机怎么实现无线连接PC电脑传输文件和图片...
- 卷积神经网络group群卷积以及group lasso
- 青岛科技大学计算机硕士就业,2021年青岛科技大学专业排行榜,哪个专业就业比较好...
- Machine Learning读书会,面试算法讲座,创业活动,算法班(历届汇总)
- 磁盘空间清理·微信文件夹
- 这个牛逼哄哄的数据库开源了
- CocosCreater 接入手Q (QQ小游戏)、小米快游戏 接入指南、脱坑指南
- qq设置头衔显示服务器异常,qq头衔如何设置
- 中企海外周报 | 宁德时代与大众拉美卡客车达成合作;亿航与沃达丰共建欧洲城市空中交通生态...