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

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

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

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

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

微信图片_20171231211222.jpg

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

微信图片_20171231211226.jpg

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

微信图片_20171231211230.jpg

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

1080P lua.flv720.bb2api.64

超清 lua.flv.bb2api.80

高清 lua.flv720.bb2api.64

普清 lua.mp4.bb2api.16

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

QQ截图20171231212334.png

可以看到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签名}

QQ截图20171231210737.png

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

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

重点字段如下:

QQ截图20171231215643.png

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

/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)}/(空)

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

标签: none