This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw-skills/complete_test.py
T
OpenClaw Agent 8163c37e83 refactor: 移除bilibili_extractor插件,改用obsidian-kb
- 删除 bilibili_extractor.py 及相关文档和配置
- 删除 bilibili_venv 虚拟环境
- 删除测试脚本和生成的B站笔记
- 以后使用 skills/obsidian-kb 提供的B站提取功能
2026-02-07 14:44:58 +08:00

87 lines
2.3 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
完整测试 B站提取器
"""
import sys
import json
from pathlib import Path
# 添加 src 目录到路径
sys.path.insert(0, str(Path(__file__).parent / 'skills' / 'obsidian-kb' / 'src'))
from extractors.bilibili_extractor import BilibiliExtractor
def main():
"""测试主函数"""
print("开始完整测试 B站提取器...\n")
# 创建提取器(不使用配置,使用默认值)
extractor = BilibiliExtractor(config=None)
# 测试不同的输入格式
test_cases = [
'BV1MnFNz5EDL', # BV号
'https://www.bilibili.com/video/BV1MnFNz5EDL', # 完整URL
]
for i, source_id in enumerate(test_cases, 1):
print(f"\n{'='*60}")
print(f"测试 {i}: {source_id}")
print(f"{'='*60}\n")
try:
# 解析 source_id
bvid = extractor._parse_source_id(source_id)
print(f"✓ 解析 BV 号: {bvid}")
# 提取信息
result = extractor.extract(source_id)
print("\n✅ 提取成功!\n")
# 元数据
print("📋 元数据:")
metadata = result['metadata']
for key in ['title', 'author', 'bvid', 'duration', 'pubtime']:
print(f" {key}: {metadata.get(key, '')}")
# 统计信息
print("\n📊 统计信息:")
stats = result['stats']
for key in ['view', 'like', 'coin', 'favorite']:
value = stats.get(key, 0)
print(f" {key}: {value:,}")
# 描述
print("\n📝 描述:")
description = result['description']
if description:
print(f" {description[:100]}...")
else:
print(" (无描述)")
# 字幕
print("\n📺 字幕:")
subtitle = result['subtitle']
if subtitle:
lines = subtitle.split('\n')
print(f" 共 {len(lines)} 条字幕")
else:
print(" (无字幕)")
except Exception as e:
print(f"\n❌ 测试失败: {e}")
import traceback
traceback.print_exc()
print(f"\n{'='*60}")
print("测试完成")
print(f"{'='*60}\n")
if __name__ == '__main__':
main()