今天逛论坛的时候发现了一篇关于B站视频爬取的帖子
求助抓B站视频接口  (出处: 吾爱破解论坛)
B站视频的爬取已经多到烂大街了,原理也有很多种,最常见的还是用ffmpeg或者别的方法将视频流碎片m4s合并起来
而这个API居然直接可以爬取到完整的视频
[Python] 纯文本查看 复制代码
api_url = 'https://api.bilibili.com/x/player/playurl?cid={}&avid={}&qn={}&otype=json&requestFrom=bilibili-helper'

因此,我去抓包试了下,但是对API的来源同样难以找到
在b站找了下最近新的API分享:
https://www.bilibili.com/read/cv3430609
里面没有关于  api.bilibili.com/x/player/playurl  的内容
根据经验我尝试从B站个人主页下手
经过一番努力,我成功找到了以下内容
记一次查找bilibili视频API的经历

1.png

api_1


记一次查找bilibili视频API的经历

1 (1).png

api_2


甚至发现了奇怪的东东
记一次查找bilibili视频API的经历

1 (2).png

api_3


记一次查找bilibili视频API的经历

1 (3).png

json_1


但是很可惜,因为其中一点关于视频播放的东西都没有.
无可奈何走一遍别人走过的路,老老实实点开视频抓包~
首先想到的当然还是和video有关的
记一次查找bilibili视频API的经历

2.png

getvideo


很可惜并没有很重要的内容,于是转而去研究play.so,同样没有重要的数据,但是绝对在里面有重要的内容,不可奈何打不开
记一次查找bilibili视频API的经历

TIM图片20200629144150.png

play.so


记一次查找bilibili视频API的经历

2.2.png

fangwen


这就很难下手,于是尝试了对m4s文件分析一下
对文件大小排序,拿到源文件片段
记一次查找bilibili视频API的经历

2.10.png

m4s


记一次查找bilibili视频API的经历

2.11.png

m4s


记一次查找bilibili视频API的经历

2.12.png

m4s


改了改其中的参数,列如
deadline:
1593419974
发现结果没有两样,只是片段m4s的地址,又试着将参数删了部分,最后摸索出来如果有nsb=1就会出403
记一次查找bilibili视频API的经历

2.22.png


如果没有就会出949,显然没有其他可以研究的路了
看了看m4s的乱码内容,没有丝毫头绪了,点开Initator,点开其中一个js
记一次查找bilibili视频API的经历

xiwang.png

js


突然找到的希望,这肯定不是凭空来的,又找了下js内的内容
记一次查找bilibili视频API的经历

js.png

js


发现这种API是有很多类似的,应该是为了PC,app等不同的配备,还有新版旧版的区别
翻上去一看是我自己的bilibili Evolved脚本代码,白高兴一场,但是同时也明白了肯定在什么地方会有这个API,或者是旧版本的接口,或者是其他地方里面拼接的比较隐蔽,
这时候加载的视频也放完了
记一次查找bilibili视频API的经历

demo.png

demo


看着刷出来的推荐视频的链接,突然想到,会不会在这个时候的视频链接没有被封装直接是API,
找了下最后一段时间抓到的包
记一次查找bilibili视频API的经历

TIM截图20200629135439.png

end


果然抓到了!
打开内容看了一眼
记一次查找bilibili视频API的经历

awo.png

json_2


居然是很多个片段的地址!!!
由此终于找到了API的来源:源自视频加载完后的视频推存,这时候会调用的是完整的裸露的API,可以直接调用来使用爬虫下载
心急吃不了热豆腐,虽然js中一定可以分析出这个API,但是毕竟是动态的加载,加载完之后的视频推荐或者跳转到下一个视频可能就是关键~
[Python] 纯文本查看 复制代码
api_url = 'https://api.bilibili.com/x/player/playurl?cid={}&avid={}&qn={}&otype=json&requestFrom=bilibili-helper'
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。