bilibili-API-collect/history&toview/toview.md

22 KiB
Raw Blame History

稍后再看

视频添加稍后再看

http://api.bilibili.com/x/v2/history/toview/add

请求方式POST

认证方式CookieSESSDATA

最多添加100个视频

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
aid num 稿件avID 必要(可选) avID与bvID任选一个
bvid str 稿件bvID 必要(可选) avID与bvID任选一个
csrf str CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功
-101账号未登录
-111csrf校验失败
-400请求错误
90001列表已满
90003稿件已经被删除
message str 错误信息 默认为0
ttl num 1

示例:

添加视频av41687433/BV1ht41147kj到稍后再看列表

avID方式

curl 'http://api.bilibili.com/x/v2/history/toview/add' \
--data-urlencode 'aid=41687433' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'

bvID方式

curl 'http://api.bilibili.com/x/v2/history/toview/add' \
--data-urlencode 'bvid=BV1ht41147kj' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}

添加频道中所有视频到稍后再看

http://space.bilibili.com/ajax/channel/addAllToView

请求方式POST

认证方式CookieSESSDATA

鉴权方式Cookie中DedeUserIDDedeUserID__ckMd5存在且不为0referer为 .bilibili.com域名下

带有转义

超过容量后会截取容量之内的添加

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
cid num 目标频道ID 必要
mid num 目标频道所属的用户UID 必要
csrf str CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
status bool 是否成功 false失败
true成功
data str 错误信息

示例:

添加用户UID=282994下的频道4693中所有视频到稍后再看

curl 'http://space.bilibili.com/ajax/channel/addAllToView' \
--data-urlencode 'cid=4693' \
--data-urlencode 'mid=282994' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;DedeUserID=1;DedeUserID__ckMd5=1;'
-e 'https://www.bilibili.com'
查看响应示例:
{
    "status": true,
    "data": "操作成功"
}

获取稍后再看视频列表

http://api.bilibili.com/x/v2/history/toview

请求方式GET

认证方式CookieSESSDATA

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功
-101账号未登录
-400请求错误
message str 错误信息 默认为0
ttl num 1
data data 数据本体

data对象:

字段 类型 内容 备注
count num 稍后再看视频数
list array 稍后再看视频列表

data中的list数组:

类型 内容 备注
0 obj 稍后再看1
n obj 稍后再看(n+1) 按照添加顺序排列
项数为总计稍后再看视频数
…… obj …… ……
99 obj 最后一项

data中的list数组中的对象:

字段 类型 内容 备注
aid num 稿件avID
videos num 稿件分P总数 默认为1
tid num 分区tID
tname str 子分区名称
copyright num 是否转载 1原创
2转载
pic str 稿件封面图片url
title str 稿件标题
pubdate num 稿件发布时间 时间戳
ctime num 用户提交稿件的时间 时间戳
desc str 视频简介
state num 视频状态 0开放浏览
1橙色通过
-1待审
-2被打回
-3网警锁定
-4被锁定
-5管理员锁定可浏览
-6修复待审
-7暂缓审核
-8补档待审
-9等待转码
-10延迟审核
-11视频源待修
-12转储失败
-13允许评论待审
-14临时回收站
-15分发中
-16转码失败
-20创建未提交
-30创建已提交
-40定时发布
-100用户删除
attribute num 稿件属性位配置
duration num 稿件总时长所有分P 单位为秒
rights obj 稿件属性标志
owner obj 稿件UP主信息
stat obj 稿件状态数
dynamic str 视频同步发布的的动态的文字内容 无为空
dimension obj 稿件1P分辨率
count num 稿件分P数 非投稿视频无此项
cid num 视频CID
progress num 观看进度时间 单位为秒
add_at num 添加时间 时间戳
bvid str 稿件bvID

attribute属性位二进制值表:

内容 备注
0 禁止排行
1 动态禁止
2 禁止网页输出
3 禁止客户端列表
4 搜索禁止
5 海外禁止
6 禁止推荐
7 禁止转载
8 是否高清 视频清晰度>=1080P
9 是否PGC稿件 番剧及影视
10 允许承包
11 是否番剧
12 是否私单
13 是否限制地区 大多数番剧
14 允许其他人添加tag
15
16 跳转 番剧及影视av/bv->ep跳转
17 是否影视
18 付费
19 推送动态
20 家长模式
21 UGC付费
22
23 是否失效

data中的list数组中的对象中的rights对象:

字段 类型 内容 备注
bp num 0 作用尚不明确
elec num 是否支持充电
download num 是否允许下载
movie num 是否电影
pay num 是否PGC付费
hd5 num 是否有高码率
no_reprint num 是否禁止转载
autoplay num 是否可以自动播放
ugc_pay num 是否UGC付费
is_cooperation num 是否联合投稿
ugc_pay_preview num 0 作用尚不明确
no_background num 0 作用尚不明确

data中的list数组中的对象中的owner对象:

字段 类型 内容 备注
mid num UP主UID
name str UP主昵称
face str UP主头像

data中的list数组中的对象中的stat对象:

字段 类型 内容 备注
aid num 稿件avID
view num 普通:观看次数
屏蔽时:-1
danmaku num 弹幕条数
reply num 评论条数
favorite num 收藏人数
coin num 投币枚数
share num 分享次数
now_rank num 0 作用尚不明确
his_rank num 历史最高排行
like num 获赞次数
dislike num 0 作用尚不明确
evaluation str 视频评分 默认为空

data中的list数组中的对象中的pages对象:

字段 类型 内容 备注
cid num 当前分P CID
page num 当前分P
from str 视频来源 vupload用户上传
hunan芒果TV
part str 当前分P标题
duration num 当前分P持续时间 单位为秒
vid str 作用尚不明确
weblink str 作用尚不明确
dimension obj 当前分P分辨率

pages中的dimension对象(同data中的list数组中的对象中的dimension对象)

字段 类型 内容 备注
width num 当前分P 宽度 可能为0
height num 当前分P 高度 可能为0
rotate num 是否将宽高对换 0正常
1对换

示例:

获取稍后再看视频列表

curl 'http://api.bilibili.com/x/v2/history/toview' \
-b 'SESSDATA=xxx'
查看响应示例:
 "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "count": 25,
        "list": [
            {
                "aid": 200333024,
                "videos": 1,
                "tid": 95,
                "tname": "手机平板",
                "copyright": 1,
                "pic": "http://i1.hdslb.com/bfs/archive/a5e3072e670daec4c01a182aae91c1f85a48001e.jpg",
                "title": "【山新】疫情下,配音演员怎么开工录音?",
                "pubdate": 1586959137,
                "ctime": 1586959137,
                "desc": "疫情这段时间,配音演员们是怎么录音的呢=W=",
                "state": 0,
                "attribute": 16768,
                "duration": 218,
                "rights": {
                    "bp": 0,
                    "elec": 0,
                    "download": 0,
                    "movie": 0,
                    "pay": 0,
                    "hd5": 1,
                    "no_reprint": 1,
                    "autoplay": 1,
                    "ugc_pay": 0,
                    "is_cooperation": 0,
                    "ugc_pay_preview": 0,
                    "no_background": 0
                },
                "owner": {
                    "mid": 14082,
                    "name": "山新",
                    "face": "http://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg"
                },
                "stat": {
                    "aid": 200333024,
                    "view": 361123,
                    "danmaku": 1792,
                    "reply": 1376,
                    "favorite": 7571,
                    "coin": 12129,
                    "share": 895,
                    "now_rank": 0,
                    "his_rank": 0,
                    "like": 54705,
                    "dislike": 0
                },
                "dynamic": "疫情这段时间,配音演员们是怎么录音的呢=W=",
                "dimension": {
                    "width": 3840,
                    "height": 2160,
                    "rotate": 0
                },
                "page": {
                    "cid": 178808041,
                    "page": 1,
                    "from": "vupload",
                    "part": "无标题",
                    "duration": 218,
                    "vid": "",
                    "weblink": "",
                    "dimension": {
                        "width": 3840,
                        "height": 2160,
                        "rotate": 0
                    }
                },
                "count": 1,
                "cid": 178808041,
                "progress": 32,
                "add_at": 1587041785,
                "bvid": "BV1Yz411B7n3"
            },
            {
                "aid": 710350011,
                "videos": 1,
                "tid": 124,
                "tname": "趣味科普人文",
                "copyright": 1,
                "pic": "http://i0.hdslb.com/bfs/archive/c5b7e7c07a4abf27029c5afb3ab65fee4475b9a9.jpg",
                "title": "不花一分钱建立自己的网站!给硬盘里的小姐姐换个新家!",
                "pubdate": 1586919626,
                "ctime": 1586898238,
                "desc": "制作视频不易,你的点赞是对我最大的支持!\nUP主的个人网站https://amdradeonrin.github.io/MIKU/\n视频提到的文件在网站有下载\nGitHub上的网站源码https://github.com/AMDRadeonRin/MIKU",
                "state": 0,
                "attribute": 16768,
                "duration": 169,
                "mission_id": 13106,
                "rights": {
                    "bp": 0,
                    "elec": 0,
                    "download": 0,
                    "movie": 0,
                    "pay": 0,
                    "hd5": 1,
                    "no_reprint": 1,
                    "autoplay": 1,
                    "ugc_pay": 0,
                    "is_cooperation": 0,
                    "ugc_pay_preview": 0,
                    "no_background": 0
                },
                "owner": {
                    "mid": 179757857,
                    "name": "GTX690战术核显卡导弹",
                    "face": "http://i2.hdslb.com/bfs/face/2504de8c1eeef22d91bbc45803f6b29afcbb0adf.jpg"
                },
                "stat": {
                    "aid": 710350011,
                    "view": 3293,
                    "danmaku": 37,
                    "reply": 117,
                    "favorite": 355,
                    "coin": 76,
                    "share": 11,
                    "now_rank": 0,
                    "his_rank": 0,
                    "like": 325,
                    "dislike": 0
                },
                "dynamic": "#网页制作##HTML##网页#给你们科普一下怎么弄网站吧你们也可以考虑整一个XD",
                "dimension": {
                    "width": 1920,
                    "height": 1080,
                    "rotate": 0
                },
                "count": 1,
                "cid": 0,
                "progress": 0,
                "add_at": 1587012410,
                "bvid": "BV1LQ4y1T7Xh"
            },
            …………
        ]
    }
}

删除稍后再看视频

http://api.bilibili.com/x/v2/history/toview/del

请求方式POST

认证方式CookieSESSDATA

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
viewed bool 是否删除所有已观看的视频 非必要 true删除已观看视频
false不删除已观看视频
默认为false
aid num 删除的目标记录的avID 非必要
csrf str CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功
-101账号未登录
-111csrf校验失败
-400请求错误
message str 错误信息 默认为0
ttl num 1

示例:

删除视频av540580868的稍后再看记录

curl 'http://api.bilibili.com/x/v2/history/toview/del' \
--data-urlencode 'aid=540580868' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}

删除所有已观看的视频

curl 'http://api.bilibili.com/x/v2/history/toview/del' \
--data-urlencode 'viewed=true' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}

清空稍后再看视频列表

http://api.bilibili.com/x/v2/history/toview/clear

请求方式POST

认证方式CookieSESSDATA

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
csrf num CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功
-101账号未登录
-111csrf校验失败
message str 错误信息 默认为0
ttl num 1

示例:

清空稍后再看视频列表

curl 'http://api.bilibili.com/x/v2/history/toview/clear' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}