哔哩哔哩动画客户端(安卓)的版权受限番下载方法

实现其实很简单,只要创建几个空文件夹和文件就可以。

首先来看下哔哩哔哩客户端下载的文件目录结构

在文件管理上打开下列目录

正式版:/storage/emulated/0/Android/data/tv.danmaku.bili/download/

概念版:/storage/emulated/0/Android/data/com.bilibili.app.blue/download/

 

下载的番都是与s_ID命名的,随便打开一个s_6440

里面的子目录是以 episode_id 命名的,再打开一个115429

里面有一个文件夹,是以清晰度命名的,里面存放的是视频文件。以下是我自己调试出来的清晰度对应文件名

1080P lua.flv720.bb2api.64

超清 lua.flv.bb2api.80

高清 lua.flv720.bb2api.64

普清 lua.mp4.bb2api.16

danmaku.xml是弹幕文件,entry.json结构见下图

 

可以看到entry.json里面是下载的番剧和剧集信息。

只要根据上面的目录结构创建几个文件夹和文件就可以让哔哩哔哩客户端创建一个下载任务去下载受限的番剧。

 

2、读取番剧的信息和剧集信息

读取番剧信息接口:http://bangumi.bilibili.com/api/season_v3?_device=android&_ulv=10000&build=411005&platform=android&appkey={Appkey}&ts={时间戳}&type=bangumi&season_id={番剧ID}&sign={Sign签名}

 

详细接口见:https://github.com/soimort/you-get/blob/develop/src/you_get/extractors/bilibili.py

 

根据上面的接口读取到的信息创建一个entry.json,is_completed字段要为false

重点字段如下:

然后按以下结构创建文件夹和文件

/s_{season_id}/

/s_{season_id}/{episode_id}/

/s_{season_id}/{episode_id}/entry.json

/s_{season_id}/{episode_id}/danmaku.xml(空)

/s_{season_id}/{episode_id}/{清晰度(如:lua.flv720.bb2api.64)}/(空)

完全退出哔哩哔哩客户端再打开就可以看见下载任务了.

小学生水平的写作,有不懂的评论或邮箱([email protected])联系我

Xamarin版源码过几天再放出来,希望有人能用原生写一个。