这是一个利用Python实现Temple Song模板半自动化的小工具
限于直接爬数据会被阿b弹验证码,所以本代码主要使用bilibili的api接口实现,在这里我使用了大佬们做的b站api接口的Python第三方库,原仓库已经404了,新仓库的地址和开发文档会在下面放出
这里的方法是基于Windows11系统的主要我也没Mac或者Linux,而且也应该没人会想着在手机上运行Python吧(
在这里放上源码可能很屎,有佬能改进的话也挺好的不得不说gpt蛮好用的,这段的时间格式化就是gpt写的
from pip._internal import main
import asyncio
import datetime
print(f"使用办法:\n输入视频的bv号,将自动输出符合规范的Temple Song模板\n正常打开文件并检查更新完成后会输出类似“D:/xxx/xxxxx/文件名”的代码,这是正常情况\n该工具最新的更新地址在“https://zh.moegirl.org.cn/User:%E4%BC%8D%E6%98%B1%E7%89%A9%E8%B5%B7/tsbpy”\n")
print(f"自动检查更新中...\n(此过程大概需要10-20s)\n")
main(['install', 'bilibili_api'])
print(f"\n检查已完成\n若出现导致程序非正常运行的错误请检查错误信息\n(此工具大部分的错误信息都不影响程序正常运行)\n")
from bilibili_api import video
async def main() -> None:
v = video.Video(bvid=input("\n请输入bv号:"))# 实例化 Video 类
info = await v.get_info()# 获取信息
timestamp = info['pubdate'] # 时间戳
date_object = datetime.datetime.fromtimestamp(timestamp) # 时间戳转换为日期时间对象
time = date_object.strftime("%y/%m/%d") # 时间格式化
if len(time) >= 4 and time[3] == '0':
time = time[:3] + time[4:]
bv=info['bvid']#bv号
pic=info['pic']#封面
title=info['title']#标题
left="{{"
right="}}"
times="Temple Song|color=transparent"
bbid="|bb_id="
song="|曲目 ="
btime="|投稿日期 ="
bcount= "|再生数量 ="
bilicount="BilibiliCount|id="
image="|image link ="
#模板
print(f"\n{left}{times}\n{bbid}{bv}\n{song}{title}\n{btime}{time}\n{bcount}{left}{bilicount}{bv}{right}\n{image}{pic}\n{right}\n")
input("Ctrl+C复制后按enter退出...")
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
环境:Windows11家庭中文版,安装有Python3.12.1,pip24.0
双击打开文件并等待程序更新完毕后,弹出以下命令框
使用办法:
输入视频的bv号,将自动输出符合规范的Temple Song模板
正常打开文件会输出类似“D:/xxx/xxxxx/Temple_Song_of_moe”的代码,这是正常情况
D:\yuan\Desktop\py项目\Temple_Song_of_moe.py:35: DeprecationWarning: There is no current event loop
asyncio.get_event_loop().run_until_complete(main())
请输入bv号:
随后输入“BV1vb411Y7A6”(洛天依-夜间出租车)后命令框输出
{{Temple Song|color=transparent
|bb_id=BV1vb411Y7A6
|曲目 =洛天依,原创《夜间出租车》
|投稿日期 =19/2/21
|再生数量 ={{BilibiliCount|id=BV1vb411Y7A6}}
|image link =http://i0.hdslb.com/bfs/archive/d58b6de2016cf0251315a4030eccbbb527301098.jpg
}}
Ctrl+C复制后按enter退出...
最后退出,这里是模板效果