b站视频下载接口分析 您所在的位置:网站首页 b站番剧视频下载在哪 b站视频下载接口分析

b站视频下载接口分析

2024-07-13 00:32| 来源: 网络整理| 查看: 265

"video": [ { "start_with_sap": 1, "bandwidth": 4112579, "sar": "1:1", "backupUrl": [""], "codecs": "avc1.640028", "base_url": "", "backup_url": [""], "segment_base": { "initialization": "0-990", "index_range": "991-4490" }, "mimeType": "video/mp4", "frame_rate": "16000/672", "SegmentBase": { "Initialization": "0-990", "indexRange": "991-4490" }, "frameRate": "16000/672", "codecid": 7, "baseUrl": "", "size": 0, "mime_type": "video/mp4", "width": 1920, "startWithSAP": 1, "id": 112, "height": 1080, "md5": "" }]

其中的base_url、id和codecs字段是我们需要的。不同的id对应不同的分辨率,codecs对应编码方式,base_url就是对应分辨率和编码方式下的视频流地址。

audio对应的json字符串和video类似,同样是base_url为音频流地址。

(注意其上的api都得在请求头加referer字段,否则无法访问)

 

视频流地址可以在请求头加range字段,用于分段下载或者部分下载,如不加则为下载所有,代码如下:

headers = { 'user-agent':'', 'referer':'', 'range':'byte=0-9999' #此为range字段,代表下载整个视频从0到9999字节的数据 } with open('demo_vedio.mp4','wb+') as file1, open('demo_audio.mp3','wb+') as file2: file1.write(requests.get(vedio_url,headers=headers).content) #下载video file2.write(requests.get(audio_url,headers=headers).content) #下载audio

接下来就是等资源下载完毕了,如有需要可以用格式工厂将音频视频合并成为一个完整的视频。

 

总结:b站还是很友好的,没有弄一些加密什么的来防爬,通过这次也大致了解了hash协议的原理,总体来说想下载b站视频并不难。

 

b站视频下载相关的源码网址:https://github.com/modifyGB/bili_video_download



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有