现在哔哩哔哩新推出了 BV 号用来取代以前的 av 号,所有视频都替换为 BV 号了,不过以前的 av 号还能使用。对于老视频还是用 av 号比较方便,所以写点代码实现这两个的转换。
效果如图:
使用方法:
- 初始输入 1 或 2 选择转换模式
- 输入 av 或 BV 号
很简单,直接上代码,需要使用 requests
:
import requests
import codecs
def av2bv(avid):
site = "https://api.bilibili.com/x/web-interface/view?aid=" + str(avid)
lst = codecs.decode(requests.get(site).content, "utf-8").split("\"")
if int(lst[2][1:-1]) != 0: return "视频不存在!"
return lst[13]
def bv2av(bvid):
site = "https://api.bilibili.com/x/web-interface/view?bvid=" + bvid
lst = codecs.decode(requests.get(site).content, "utf-8").split("\"")
if int(lst[2][1:-1]) != 0: return "视频不存在!"
return int(lst[16][1:-1])
print("author:Mengo \n请选择模式(输入1或2):\n(1:AV号转换为BV号,2:BV号转换为AV号)")
a = int(input())
while a not in [1, 2]:
print("输入错误!请重新输入!")
a = int(input())
if a == 1:
print("\n请输入AV号:")
av = input()
av = av.replace("av", "")
print("\nBV号为:\n" + str(av2bv(int(av))))
elif a == 2:
print("\n请输入BV号:")
print("\nAV号为:\nav" + str(bv2av(str(input()))))
print("\n按任意键退出。")
input()