【Python】B站 av 号和 BV 号的转换

现在哔哩哔哩新推出了 BV 号用来取代以前的 av 号,所有视频都替换为 BV 号了,不过以前的 av 号还能使用。对于老视频还是用 av 号比较方便,所以写点代码实现这两个的转换。

效果如图:
在这里插入图片描述

使用方法:

  1. 初始输入 1 或 2 选择转换模式
  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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值