bilibili av/bv 号 互转
官方的说明: 升级公告 专栏cv5167957【升级公告】AV号全面升级至BV号
下面代码的原理来自于 bilibili 动态 https://t.bilibili.com/369850482949550830?tab=2 评论区的 @always-M
先放出来 API
BV -> AV
https://api.bilibili.com/x/web-interface/archive/stat?bvid=【BVXXXX】
AV -> BV
https://api.bilibili.com/x/web-interface/archive/stat?aid=【xxxxxx】
python 代码
# https://api.bilibili.com/x/web-interface/archive/stat?aid=av
# https://api.bilibili.com/x/web-interface/archive/stat?bvid=BV
import requests
import json
# func = input("1. av->bv 2. bv->av")
headers = {
"Host": "api.bilibili.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36 Edg/80.0.361.69"
}
id = input("请输入av号 或 bv 号")
if id[0:2].lower() != "bv":
if id[0:2].lower() == "av":
id = id[2:]
print("你输入的是 av 号: " + id)
url = "https://api.bilibili.com/x/web-interface/archive/stat?aid=" + id
else:
print("你输入的是 bv 号: " + id)
url = "https://api.bilibili.com/x/web-interface/archive/stat?bvid=" + id
ret = requests.get(url, headers=headers)
data = json.loads(ret.text)
# print(data)
print(("av号: av%d") % data["data"]["aid"])
print(("BV号: BV%s") % data["data"]["bvid"])