ApolloZhu / BilibiliKit

bilibili APIs in Swift. docs:
https://apollozhu.github.io/BilibiliKit/
MIT License
18 stars 3 forks source link

Migration to BV #9

Closed ApolloZhu closed 4 years ago

ApolloZhu commented 4 years ago

Old AV {info, page list} API still works, however, all URLs defaults to BV now

https://api.bilibili.com/x/web-interface/view?bvid=BV1XJ41157tQ https://api.bilibili.com/x/web-interface/view?aid=82054919

{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "bvid": "BV1XJ41157tQ",
        "aid": 82054919,
        "videos": 1,
        "tid": 21,
        "tname": "日常",
        "copyright": 1,
        "pic": "http://i1.hdslb.com/bfs/archive/fa125f2f74f19ccde76aaebb9c310bee81a7086b.jpg",
        "title": "看完这个视频的人,2020都变得更好了",
        "pubdate": 1578136510,
        "ctime": 1578136510,
        "desc": "【打卡挑战年度视频】哪有什么天生如此,只是我们天天坚持。\n感谢2019年在B站坚持打卡的你们,希望在新的一年,大家变得更好!\n本视频参演UP主:\n是落拓呀\n三坨土本土\n张子贺Zake\n陈耐时很奶思\n翼飞书画\nBGM:\nPaRaD1SE - 桜流し - EVA Q [piano]\nカワキヲアメク(内心的嘶吼)- 美波(Minami)\nA Thousand Years - Christina Perri",
        "state": 0,
        "attribute": 16768,
        "duration": 248,
        "rights": {
            "bp": 0,
            "elec": 0,
            "download": 1,
            "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": 37090048,
            "name": "哔哩哔哩创作中心",
            "face": "http://i2.hdslb.com/bfs/face/01365904ffb64d1858da7e20e1040b9f2d94165d.jpg"
        },
        "stat": {
            "aid": 82054919,
            "view": 219918,
            "danmaku": 4509,
            "reply": 996,
            "favorite": 8790,
            "coin": 8587,
            "share": 3259,
            "now_rank": 0,
            "his_rank": 82,
            "like": 23728,
            "dislike": 0,
            "evaluation": ""
        },
        "dynamic": "#VLOG##生活记录##打卡挑战#",
        "cid": 140393526,
        "dimension": {
            "width": 1920,
            "height": 1080,
            "rotate": 0
        },
        "no_cache": false,
        "pages": [{
            "cid": 140393526,
            "page": 1,
            "from": "vupload",
            "part": "打卡挑战年度视频",
            "duration": 248,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 1920,
                "height": 1080,
                "rotate": 0
            }
        }],
        "subtitle": {
            "allow_submit": false,
            "list": []
        }
    }
}
ApolloZhu commented 4 years ago

Multiple episodes

https://api.bilibili.com/x/player/pagelist?bvid=BV1Mx411L7dS

{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": [{
            "cid": 26722600,
            "page": 1,
            "from": "vupload",
            "part": "1. Introduction to iOS 11, Xcode 9 and Swift 4",
            "duration": 4919,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 26722601,
            "page": 2,
            "from": "vupload",
            "part": "2. MVC",
            "duration": 4319,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 28731490,
            "page": 3,
            "from": "vupload",
            "part": "Friday 1. Debugging and Xcode Tips and Tricks",
            "duration": 1956,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 26722602,
            "page": 4,
            "from": "vupload",
            "part": "3. Swift Programming Language",
            "duration": 5017,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 26722603,
            "page": 5,
            "from": "vupload",
            "part": "4. More Swift",
            "duration": 5248,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 26722604,
            "page": 6,
            "from": "vupload",
            "part": "5. Drawing",
            "duration": 5228,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 26722605,
            "page": 7,
            "from": "vupload",
            "part": "6. Multitouch",
            "duration": 5123,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 27438831,
            "page": 8,
            "from": "vupload",
            "part": "7. Multiple MVCs, Timer, and Animation",
            "duration": 4621,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 27438832,
            "page": 9,
            "from": "vupload",
            "part": "8. Animation",
            "duration": 5222,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 28731491,
            "page": 10,
            "from": "vupload",
            "part": "Friday 2. GitHub and Source Control Workflow",
            "duration": 1491,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 27481512,
            "page": 11,
            "from": "vupload",
            "part": "9. View Controller Lifecycle and Scroll View",
            "duration": 4449,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 27481513,
            "page": 12,
            "from": "vupload",
            "part": "10. Multithreading and Autolayout",
            "duration": 4641,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 28731492,
            "page": 13,
            "from": "vupload",
            "part": "Friday 3. Instruments",
            "duration": 1748,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 27724434,
            "page": 14,
            "from": "vupload",
            "part": "11. Drag and Drop, Table View, and Collection View",
            "duration": 4803,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 27724435,
            "page": 15,
            "from": "vupload",
            "part": "12. Drag and Drop, Table View, Collection View, and Text Field",
            "duration": 4448,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 28230731,
            "page": 16,
            "from": "vupload",
            "part": "13. Persistence and Documents",
            "duration": 4298,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 28230732,
            "page": 17,
            "from": "vupload",
            "part": "14. Persistence and Documents Demo",
            "duration": 4799,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 28498557,
            "page": 18,
            "from": "vupload",
            "part": "15. Alerts, Notifications, Application Lifecycle",
            "duration": 4842,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 28498558,
            "page": 19,
            "from": "vupload",
            "part": "16. More Segues",
            "duration": 4555,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        },
        {
            "cid": 72944732,
            "page": 20,
            "from": "vupload",
            "part": "17. Core Motion and Camera",
            "duration": 4543,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 1920,
                "height": 1080,
                "rotate": 0
            }
        }
    ]
}
ApolloZhu commented 4 years ago

The only difference with a different cid is ... the subtitles part. So I guess we don't care?

https://api.bilibili.com/x/web-interface/view?cid=26722600&bvid=BV1Mx411L7dS

{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "bvid": "BV1Mx411L7dS",
        "aid": 16339375,
        "videos": 20,
        "tid": 39,
        "tname": "演讲• 公开课",
        "copyright": 2,
        "pic": "http://i2.hdslb.com/bfs/archive/5d5ed58ddded4c3ebf193d1f5078ad4b9de63f53.jpg",
        "title": "【夹生|完结】Swift 语言 iOS 11 开发 斯坦福(Stanford)CS193p 公开课 Paul Hegarty 主讲",
        "pubdate": 1510824173,
        "ctime": 1510824174,
        "desc": "Paul Hegarty 简单介绍了本系列课程和 iOS 的组成部分,并演示了制作翻牌(Concentration)游戏。  GitHub 字幕:https://github.com/ApolloZhu/Developing-iOS-11-Apps-with-Swift 翻译:@Apollonian, SilkSong 校对: @LiulietLee",
        "state": 0,
        "attribute": 49152,
        "duration": 86270,
        "rights": {
            "bp": 0,
            "elec": 0,
            "download": 1,
            "movie": 0,
            "pay": 0,
            "hd5": 0,
            "no_reprint": 0,
            "autoplay": 1,
            "ugc_pay": 0,
            "is_cooperation": 0,
            "ugc_pay_preview": 0,
            "no_background": 0
        },
        "owner": {
            "mid": 14767902,
            "name": "ApolloZhu",
            "face": "http://i2.hdslb.com/bfs/face/9cde98efd1e72276085f601ab0d64cf03476445a.jpg"
        },
        "stat": {
            "aid": 16339375,
            "view": 44689,
            "danmaku": 6255,
            "reply": 147,
            "favorite": 2922,
            "coin": 335,
            "share": 224,
            "now_rank": 0,
            "his_rank": 0,
            "like": 361,
            "dislike": 0,
            "evaluation": ""
        },
        "dynamic": "",
        "cid": 26722600,
        "dimension": {
            "width": 0,
            "height": 0,
            "rotate": 0
        },
        "no_cache": false,
        "pages": [{
            "cid": 26722600,
            "page": 1,
            "from": "vupload",
            "part": "1. Introduction to iOS 11, Xcode 9 and Swift 4",
            "duration": 4919,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 26722601,
            "page": 2,
            "from": "vupload",
            "part": "2. MVC",
            "duration": 4319,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 28731490,
            "page": 3,
            "from": "vupload",
            "part": "Friday 1. Debugging and Xcode Tips and Tricks",
            "duration": 1956,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 26722602,
            "page": 4,
            "from": "vupload",
            "part": "3. Swift Programming Language",
            "duration": 5017,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 26722603,
            "page": 5,
            "from": "vupload",
            "part": "4. More Swift",
            "duration": 5248,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 26722604,
            "page": 6,
            "from": "vupload",
            "part": "5. Drawing",
            "duration": 5228,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 26722605,
            "page": 7,
            "from": "vupload",
            "part": "6. Multitouch",
            "duration": 5123,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 27438831,
            "page": 8,
            "from": "vupload",
            "part": "7. Multiple MVCs, Timer, and Animation",
            "duration": 4621,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 27438832,
            "page": 9,
            "from": "vupload",
            "part": "8. Animation",
            "duration": 5222,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 28731491,
            "page": 10,
            "from": "vupload",
            "part": "Friday 2. GitHub and Source Control Workflow",
            "duration": 1491,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 27481512,
            "page": 11,
            "from": "vupload",
            "part": "9. View Controller Lifecycle and Scroll View",
            "duration": 4449,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 27481513,
            "page": 12,
            "from": "vupload",
            "part": "10. Multithreading and Autolayout",
            "duration": 4641,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 28731492,
            "page": 13,
            "from": "vupload",
            "part": "Friday 3. Instruments",
            "duration": 1748,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 27724434,
            "page": 14,
            "from": "vupload",
            "part": "11. Drag and Drop, Table View, and Collection View",
            "duration": 4803,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 27724435,
            "page": 15,
            "from": "vupload",
            "part": "12. Drag and Drop, Table View, Collection View, and Text Field",
            "duration": 4448,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 28230731,
            "page": 16,
            "from": "vupload",
            "part": "13. Persistence and Documents",
            "duration": 4298,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 28230732,
            "page": 17,
            "from": "vupload",
            "part": "14. Persistence and Documents Demo",
            "duration": 4799,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 28498557,
            "page": 18,
            "from": "vupload",
            "part": "15. Alerts, Notifications, Application Lifecycle",
            "duration": 4842,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 28498558,
            "page": 19,
            "from": "vupload",
            "part": "16. More Segues",
            "duration": 4555,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 0,
                "height": 0,
                "rotate": 0
            }
        }, {
            "cid": 72944732,
            "page": 20,
            "from": "vupload",
            "part": "17. Core Motion and Camera",
            "duration": 4543,
            "vid": "",
            "weblink": "",
            "dimension": {
                "width": 1920,
                "height": 1080,
                "rotate": 0
            }
        }],
        "subtitle": {
            "allow_submit": true,
            "list": [{
                "id": 1077073174069250,
                "lan": "en-US",
                "lan_doc": "英语(美国)",
                "is_lock": false,
                "subtitle_url": "http://i0.hdslb.com/bfs/subtitle/776106b2e1d5bc018ad5ce960a7b69a5547d87c5.json",
                "author": {
                    "mid": 0,
                    "name": "",
                    "sex": "",
                    "face": "",
                    "sign": "",
                    "rank": 0,
                    "birthday": 0,
                    "is_fake_account": 0,
                    "is_deleted": 0
                }
            }]
        }
    }
}
ApolloZhu commented 4 years ago

https://api.bilibili.com/x/web-interface/archive/stat?bvid=BV1Mx411L7dS https://api.bilibili.com/x/web-interface/archive/stat?aid=16339375

{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "aid": 16339375,
        "bvid": "BV1Mx411L7dS",
        "view": 44689,
        "danmaku": 6255,
        "reply": 147,
        "favorite": 2922,
        "coin": 335,
        "share": 224,
        "like": 361,
        "now_rank": 0,
        "his_rank": 0,
        "no_reprint": 0,
        "copyright": 2,
        "argue_msg": "",
        "evaluation": ""
    }
}