Files
NeoBot/bili_login.py
K2CRO4 2cb55992f9 chore: 整理配置与功能,优化B站解析流程
1. 从.gitignore移除config.example.toml并新增该示例配置文件
2. 新增项目规则文档说明开发环境要求
3. 修复config加载时的编码缺失问题
4. 重写bili_login.py,优化扫码登录流程与凭证输出
5. 重构B站解析器:简化下载逻辑,改用bilibili_api内置下载,优化音视频合并流程
2026-05-12 12:38:34 +08:00

40 lines
1.1 KiB
Python

import asyncio
from bilibili_api import login_v2
async def main():
print("请使用 Bilibili 手机 App 扫描二维码登录")
print("=" * 40)
qr = login_v2.QrCodeLogin()
await qr.generate_qrcode()
print(qr.get_qrcode_terminal())
print("=" * 40)
print("等待扫码...")
while True:
state = await qr.check_state()
if state == login_v2.QrCodeLoginEvents.DONE:
print("登录成功!")
break
elif state == login_v2.QrCodeLoginEvents.SCAN:
print("已扫描,请确认登录...")
elif state == login_v2.QrCodeLoginEvents.TIMEOUT:
print("二维码已过期,请重新运行")
return
await asyncio.sleep(1)
credential = qr.get_credential()
print()
print("请将以下凭证添加到 config.toml 的 [bilibili] 配置块中:")
print(f'sessdata = "{credential.sessdata}"')
print(f'bili_jct = "{credential.bili_jct}"')
print(f'buvid3 = "{credential.buvid3 if credential.buvid3 else ""}"')
print(f'dedeuserid = "{credential.dedeuserid}"')
if __name__ == '__main__':
asyncio.run(main())