refactor: 移除bilibili_extractor插件,改用obsidian-kb
- 删除 bilibili_extractor.py 及相关文档和配置 - 删除 bilibili_venv 虚拟环境 - 删除测试脚本和生成的B站笔记 - 以后使用 skills/obsidian-kb 提供的B站提取功能
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user