获取课程基本信息-哔哩哔哩 API

  • 2020 年 09 月 03 日
  • 210
  • 2199 字
  • 2 条评论

课程基本信息

课程 ssID 与 epID 和番剧不互通

课程 avID 与普通视频绝大部分 api 接口不能互通,少部分互通接口如下:

  1. 获取视频简介
  2. 查询视频状态数
  3. 查询分 P 列表
  4. 视频快照
  5. 获取弹幕(使用 CID)
  6. 发送弹幕
  7. 高能进度条(使用 CID)

获取课程基本信息

http://api.bilibili.com/pugv/view/web/season

请求方式:GET

认证方式:Cookie(SESSDATA)

鉴权方式:referer 为 .bilibili.com 域名下

url 参数:

参数名类型内容必要性备注
season_idnum课程 ssID必要(可选)season_id 与 ep_id 任选其一 与番剧 ssID 不互通
ep_idnum课程 epID必要(可选)season_id 与 ep_id 任选其一 与番剧 epID 不互通

json 回复:

根对象:

字段类型内容备注
codenum返回值0:成功 -404:错误
messagestr错误信息默认为 success
dataobj信息本体

data 对象:

字段类型内容备注
briefobj课程概述信息
couponobj优惠信息若无优惠则无此项
coverstr课程封面 url
episode_pageobj课程分集信息
episode_sortnum1作用尚不明确
episodesarray课程分集列表
faqobj常见问题信息 1合并格式
faq1obj常见问题信息 2分离格式
paymentobj付费信息
purchase_noteobj购买须知信息
purchase_protocolobj付费内容协议信息
release_bottom_infostr底部更新状态文字
release_infostr更新状态文字 + 更新连载状态文字
release_info2str更新连载状态文字
release_statusstr更新状态文字
season_idnum课程 ssID与番剧 ssID 不互通
share_urlstr页面 url
short_linkstrbilibili uri 链接
statobj播放数信息
statusnum10作用尚不明确
subtitlestr课程简介信息
titlestr课程标题
up_infoobjUP 主信息
user_statusobj用户状态信息需要登录(SESSDATA)且 referer 为 https://www.bilibili.com

data 中的 brief 对象:

字段类型内容备注
contentstr
imgarray简介图片
titlestr课程概述
typenum2

brief 中的 img 数组:

类型内容备注
0obj简介图片 1
nobj简介图片(n+1)
……obj…………

img 数组中的对象:

字段类型内容备注
aspect_rationum???作用尚不明确
urlstr简介图片 url

data 中的 coupon 对象:

字段类型内容备注
amountnum折扣乘数
expire_timestr结束时间YYYY-MM-DD HH:MM:SS
start_timestr起始时间YYYY-MM-DD HH:MM:SS
statusnum???作用尚不明确
titlestr优惠标题
tokenstr领取 token

data 中的 episode_page 对象:

字段类型内容备注
nextboolfalse
numnum1
sizenum总计集数
totalnum总计集数

data 中的 episodes 数组:

类型内容备注
0obj课程分集 1
nobj课程分集(n+1)
……obj…………

episodes 数组中的对象:

字段类型内容备注
aidnum课程分集 avID与普通视频 avID 部分不互通
cidnum课程分集 CID与普通视频 CID 部分不互通
durationnum课程分集时间长度单位为秒
fromstrpugv
idnum课程分集 epID与番剧 epID 不互通
indexnum课程分集数
pagenum1
playnum课程分集播放量
release_datenum课程分集发布时间时间戳
statusnum分集权限属性1:可观看 2:不可观看
titlestr课程分集标题
watchedbool是否观看该集需要登录(SESSDATA)且 referer 为 https://www.bilibili.com false:未观看 true:已观看
watchedHistorynum该集观看历史需要登录(SESSDATA)且 referer 为 https://www.bilibili.com

data 中的 faq 对象:

字段类型内容备注
contentstr常见问题信息
linkstr常见问题页面 url
titlestr常见问题

data 中的 faq1 对象:

字段类型内容备注
itemsarray常见问题列表
titlestr常见问题

faq1 中的 items 数组:

类型内容备注
0obj常见问题 1
nobj常见问题(n+1)
……obj…………

items 数组中的对象:

字段类型内容备注
answerstr回答信息
questionstr问题信息

data 中的 payment 对象:

字段类型内容备注
descstr付费价格说明
discount_descstr折扣说明信息若无优惠则无此项
discount_prefixstr折扣类型前缀若无优惠则无此项
pay_shadestr观看所有视频付费说明
pricenum课程价格单位为 B 币(折扣后价格)
price_formatstr课程价格单位为 B 币折扣后价格)

data 中的 purchase_note 对象:

字段类型内容备注
contentstr购买须知信息文字内容
linkstr购买须知页面 url
titlestr购买须知

data 中的 purchase_protocol 对象:

字段类型内容备注
linkstr付费内容协议页面 url
titlestr付费内容协议

data 中的 stat 对象:

字段类型内容备注
playnum播放量
play_descstr播放量文字信息

data 中的 up_info 对象:

字段类型内容备注
avatarstrUP 主头像 url
briefstrUP 主备注非个人签名
followernumUP 主粉丝数
is_follownum是否关注 UP 主需要登录(SESSDATA)且 referer 为 https://www.bilibili.com 0:未关注 1:已关注
linkstrUP 主空间 url
midnumUP 主 uid
pendantobj???作用尚不明确
unamestrUP 主昵称

up_info 中的 pendant 对象:

字段类型内容备注
imagestr作用尚不明确
namestr作用尚不明确
followernum0作用尚不明确

data 中的 user_status 对象:

字段类型内容备注
favorednum是否收藏0:未收藏 1:已收藏
favored_countnum1作用尚不明确
payednum是否购买0:未购买 1:已购买
progressobj课程进度未登录无此项

user_status 中的 progress 对象:

字段类型内容备注
last_ep_idnum最后观看的 epID
last_ep_indexstr最后观看的标题
last_timenum最后观看的时间进度单位为秒

示例:

查询课程 ss61 或分集 ep790 的信息

ssID 方式:

curl -G 'http://api.bilibili.com/pugv/view/web/season'\
--data-urlencode 'season_id=61'\
-b 'SESSDATA=xxx'\
-e 'https://www.bilibili.com'

epID 方式:

curl -G 'http://api.bilibili.com/pugv/view/web/season'\
--data-urlencode 'ep_id=790'\
-b 'SESSDATA=xxx'\
-e 'https://www.bilibili.com'

响应示例

{
    "code": 0,
    "data": {
        "brief": {
            "content": "",
            "img": [
                {
                    "aspect_ratio": 0.9375,
                    "url": "http://i0.hdslb.com/bfs/archive/29942f338ee570632838403a09871bad130cfe9a.jpg"
                },
                {
                    "aspect_ratio": 0.9375,
                    "url": "http://i0.hdslb.com/bfs/archive/913e5c37d836d7954ae9ca19da62a43ba5b34219.jpg"
                },
                {
                    "aspect_ratio": 1.3359375,
                    "url": "http://i0.hdslb.com/bfs/archive/a974555bd4a52f0aa865bd192c1e3401ed4cb0ad.jpg"
                },
                {
                    "aspect_ratio": 1.3359375,
                    "url": "http://i0.hdslb.com/bfs/archive/73cd7669b251db9d2b62b921bee49a137c3d65dc.jpg"
                },
                {
                    "aspect_ratio": 1.0625,
                    "url": "http://i0.hdslb.com/bfs/archive/b084ac8f6710c8eddbc58770a4254508de75eb02.jpg"
                },
                {
                    "aspect_ratio": 1.2890625,
                    "url": "http://i0.hdslb.com/bfs/archive/44e32c2cf64b894563829ce65bbef199220f4121.jpg"
                },
                {
                    "aspect_ratio": 1.3203125,
                    "url": "http://i0.hdslb.com/bfs/archive/90764fd095810565713b92606dc9cd0cfb25adae.jpg"
                },
                {
                    "aspect_ratio": 1.15234375,
                    "url": "http://i0.hdslb.com/bfs/archive/c35ca0ced0ad075a2c13b8fdc1e47b88573bce45.jpg"
                }
            ],
            "title": "课程概述",
            "type": 2
        },
        "coupon": {
            "amount": 0.66,
            "expire_time": "2020-06-30 00:00:00",
            "start_time": "2020-05-21 00:00:00",
            "status": 1,
            "title": "【上新限时6.6折】《唐盾:0-N4日语精讲》",
            "token": "B20200521135929161905873"
        },
        "cover": "http://i0.hdslb.com/bfs/archive/95d4de9e6691ccc2b18f087f5f654652dee3c01b.jpg",
        "episode_page": {
            "next": false,
            "num": 1,
            "size": 66,
            "total": 66
        },
        "episode_sort": 1,
        "episodes": [
            {
                "aid": 76973173,
                "cid": 132105993,
                "duration": 2223,
                "from": "pugv",
                "id": 790,
                "index": 1,
                "page": 1,
                "play": 2406406,
                "release_date": 1574762407,
                "status": 1,
                "title": "唐盾:一起从0基础学日语吧(含50音 词汇试听)",
                "watched": false,
                "watchedHistory": 0
            },
            {
                "aid": 77114885,
                "cid": 132110244,
                "duration": 3003,
                "from": "pugv",
                "id": 795,
                "index": 2,
                "page": 1,
                "play": 49100,
                "release_date": 1574766759,
                "status": 2,
                "title": "50音あ行假名/音调/送气与不送气音",
                "watched": false,
                "watchedHistory": 0
            },
            {
                "aid": 77120689,
                "cid": 131913553,
                "duration": 3253,
                "from": "pugv",
                "id": 797,
                "index": 3,
                "page": 1,
                "play": 49518,
                "release_date": 1574770029,
                "status": 2,
                "title": "50音图的か行、さ行、た行假名",
                "watched": false,
                "watchedHistory": 0
            },
            …………
        ],
        "faq": {
            "content": "Q:课程在什么时间更新?\nA:课程更新频次以页面前端展示为准。购买成功后,课程更新将通过账号动态提示,方便及时观看。\n\nQ:课程购买后有收看时间限制吗?\nA:购买后除不可抗力因素外,课程均可永久收看,请您放心购买。\n\nQ:原价购买课程后,如遇到优惠折扣,是否可以退还差价或重新购买?\nA:虚拟商品付款后无法返还,请您随时留意各类课程折扣信息,按需购买。\n\nQ:购买课程后是否可以加入老师的粉丝群或者用户群?\nA:如老师设置用户群,我们将邀您加入,但我们无法承诺所有老师均提供用户群服务,感谢理解。",
            "link": "http://m.bilibili.com",
            "title": "常见问题"
        },
        "faq1": {
            "items": [
                {
                    "answer": "课程更新频次以页面前端展示为准。购买成功后,课程更新将通过账号动态提示,方便及时观看。",
                    "question": "课程在什么时间更新?"
                },
                {
                    "answer": "购买后除不可抗力因素外,课程均可永久收看,请您放心购买。",
                    "question": "课程购买后有收看时间限制吗?"
                },
                {
                    "answer": "虚拟商品付款后无法返还,请您随时留意各类课程折扣信息,按需购买。",
                    "question": "原价购买课程后,如遇到优惠折扣,是否可以退还差价或重新购买?"
                },
                {
                    "answer": "如老师设置用户群,我们将邀您加入,但我们无法承诺所有老师均提供用户群服务,感谢理解。",
                    "question": "购买课程后是否可以加入老师的粉丝群或者用户群?"
                }
            ],
            "title": "常见问题"
        },
        "payment": {
            "desc": "券后 262.68 B币起/53期",
            "discount_desc": "262.68 B币",
            "discount_prefix": "券后",
            "pay_shade": "券后支付 262.68 B币即可观看所有视频",
            "price": 398.0,
            "price_format": "398"
        },
        "purchase_note": {
            "content": "1. 本内容为付费内容,购买成功后方可观看。<br/>2. 本内容为虚拟服务,已购买内容不支持退款,敬请谅解。<br/>3. 实际购买价格以页面展示的价格及订单结算页显示价格为准。<br/>4. 如您在购买付费内容时有任何疑问,可随时咨询在线客服。<br/>完整的购买协议,请点击阅读<a href=\"https://www.bilibili.com/blackboard/activity-y-SJTTYBp.html\" color=\"#0ba395\" target=\"_blank\">《bilibili付费内容购买协议》</a>",
            "link": "https://www.bilibili.com/blackboard/activity-y-SJTTYBp.html",
            "title": "购买须知"
        },
        "purchase_protocol": {
            "link": "https://www.bilibili.com/blackboard/activity-y-SJTTYBp.html",
            "title": "bilibili付费内容购买协议"
        },
        "release_bottom_info": "没有更多啦~",
        "release_info": "已完结,共53期",
        "release_info2": "共53期",
        "release_status": "已完结",
        "season_id": 61,
        "share_url": "https://m.bilibili.com/cheese/play/ss61",
        "short_link": "bilibili://cheese/season/61",
        "stat": {
            "play": 2878146,
            "play_desc": "287.8万播放"
        },
        "status": 10,
        "subtitle": "新东方名师唐盾的精品日语课,包含50音/N5/N4的词汇/语法/课文/练习精讲,让我们一起轻松学日语~",
        "title": "唐盾:0-N4日语精讲",
        "up_info": {
            "avatar": "http://i1.hdslb.com/bfs/face/564421428d1f74314ed50e16a8f570ad968828b0.jpg",
            "brief": "唐盾:前新东方日语名师,倾注日语教学、翻译14年。曾任新东方欧亚教育长沙中心总监。",
            "follower": 21333,
            "is_follow": 0,
            "link": "https://space.bilibili.com/19452605",
            "mid": 19452605,
            "pendant": {
                "image": "",
                "name": "",
                "pid": 0
            },
            "uname": "盾盾桑教你学日语"
        },
        "user_status": {
            "favored": 1,
            "favored_count": 1,
            "payed": 0,
            "progress": {
                "last_ep_id": 790,
                "last_ep_index": "唐盾:一起从0基础学日语吧(含50音 词汇试听)",
                "last_time": 1
            }
        }
    },
    "message": "success"
}

获取课程分集列表

http://api.bilibili.com/pugv/view/web/ep/list

请求方式:GET

认证方式:Cookie(SESSDATA)

鉴权方式:referer 为 .bilibili.com 域名下

url 参数:

参数名类型内容必要性备注
season_idnum课程 ssID必要与番剧 ssID 不互通
psnum每页项数非必要默认为 50
pnnum页码非必要默认为 1

json 回复:

根对象:

字段类型内容备注
codenum返回值0:成功 -404:错误
messagestr错误信息默认为 success
dataobj信息本体

data 对象:

字段类型内容备注
itemsarray课程分集列表
pageobj列表分页信息

data 中的 items 数组:

类型内容备注
0obj课程分集 1
nobj课程分集(n+1)
……obj…………

items 数组中的对象:

字段类型内容备注
aidnum课程分集 avID与普通视频 avID 部分不互通
cidnum课程分集 CID与普通视频 CID 部分不互通
durationnum课程分集时间长度单位为秒
fromstrpugv
idnum课程分集 epID与番剧 epID 不互通
indexnum课程分集数
pagenum1
playnum课程分集播放量
release_datenum课程分集发布时间时间戳
statusnum分集权限属性1:可观看 2:不可观看
titlestr课程分集标题
watchedbool是否观看该集需要登录(SESSDATA)且 referer 为 https://www.bilibili.com false:未观看 true:已观看
watchedHistorynum该集观看历史需要登录(SESSDATA)且 referer 为 https://www.bilibili.com

data 中的 page 对象:

字段类型内容备注
nextbool是否存在下一页false:不存在下一页 true:存在下一页
numnum当前页码
sizenum每页项数
totalnum总价项数

示例:

按照每页 5 项查询课程 ss61 的分集列表第 1 页

curl -G 'http://api.bilibili.com/pugv/view/web/ep/list'\
--data-urlencode 'season_id=61'\
--data-urlencode 'ps=5 '\
--data-urlencode 'pn=1'\
-b 'SESSDATA=xxx'\
-e 'https://www.bilibili.com'

响应示例

{
    "code": 0,
    "data": {
        "items": [
            {
                "aid": 76973173,
                "cid": 132105993,
                "duration": 2223,
                "from": "pugv",
                "id": 790,
                "index": 1,
                "page": 1,
                "play": 2406951,
                "release_date": 1574762407,
                "status": 1,
                "title": "唐盾:一起从0基础学日语吧(含50音 词汇试听)",
                "watched": false,
                "watchedHistory": 0
            },
            {
                "aid": 77114885,
                "cid": 132110244,
                "duration": 3003,
                "from": "pugv",
                "id": 795,
                "index": 2,
                "page": 1,
                "play": 49106,
                "release_date": 1574766759,
                "status": 2,
                "title": "50音あ行假名/音调/送气与不送气音",
                "watched": false,
                "watchedHistory": 0
            },
            {
                "aid": 77120689,
                "cid": 131913553,
                "duration": 3253,
                "from": "pugv",
                "id": 797,
                "index": 3,
                "page": 1,
                "play": 49522,
                "release_date": 1574770029,
                "status": 2,
                "title": "50音图的か行、さ行、た行假名",
                "watched": false,
                "watchedHistory": 0
            },
            {
                "aid": 77606110,
                "cid": 132897199,
                "duration": 2823,
                "from": "pugv",
                "id": 806,
                "index": 4,
                "page": 1,
                "play": 35800,
                "release_date": 1575128696,
                "status": 2,
                "title": "50音图的な行、は行、ま行假名",
                "watched": false,
                "watchedHistory": 0
            },
            {
                "aid": 78015255,
                "cid": 133651764,
                "duration": 2165,
                "from": "pugv",
                "id": 812,
                "index": 5,
                "page": 1,
                "play": 25842,
                "release_date": 1575446218,
                "status": 2,
                "title": "や行、ら行、わ行假名、拨音",
                "watched": false,
                "watchedHistory": 0
            }
        ],
        "page": {
            "next": true,
            "num": 1,
            "size": 5,
            "total": 66
        }
    },
    "message": "success"
}

原文地址:https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/cheese/info.md


版权属于:Aini99

本文链接:https://bv-av.cn/read/cv32

本站部分内容转载于互联网,目的是为了传达信息。如果有内容侵犯了你的版权,请联系 QQ:1144560054。我们会在审查后第一时间进行修改。


—— 收到 2 条评论 ——

    Trinidad Novotny
    2021 年 02 月 20 日 05:06

    Get your own Covid-19 test results in 15 minutes on Buy-Rapid-Tests.com

    Simple 3 step process - anyone can do it.

    We have FDA Authorized Covid-19 Rapid Test Kits - Most orders ship standard within 48 hours.

    Order minimum is only - 1 Box

    Each Box includes:

    25 individual Covid-19 tests cassettes25 blood droppers1 bottle of buffer/testing solution

    Buy as many boxes as you would like.

    These tests are perfect for your organization, business, restuarant or group.

    Price is $36 per test (25 tests per box) and that includes shipping to any location for $50

    We offer 10% wholesale price breaks for quantities of 5 boxes or more.

    Regards,
    Buy-Rapid-Tests.com

    Klaus Monroe
    2021 年 02 月 16 日 00:21

    Use SendBulkMails.com to run email campaigns from your own private dashboard.

    Cold emails are allowed and won't get you blocked :)

    1Mil emails / mo @ $99 USDDedicated IP and Domain IncludedDetailed statistical reports (delivery, bounce, clicks etc.)Quick and easy setup with extended support at no extra cost.Cancel anytime!

    Regards,
    www.SendBulkMails.com

OωO