#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 测试原始 bilibili_extractor.py """ import sys import os sys.path.insert(0, '/home/admin/.openclaw/workspace') import asyncio from bilibili_extractor import BilibiliExtractor async def main(): """主函数""" bvid = "BV1MnFNz5EDL" # 创建提取器(无头模式) extractor = BilibiliExtractor(headless=True) try: await extractor.init_browser() print(f"\n{'='*60}") print(f"开始提取视频: {bvid}") print(f"{'='*60}") data = await extractor.extract_video_info(bvid) if data and data.get('video_info'): info = data['video_info'] print(f"\n{'='*60}") print("视频信息提取成功!") print(f"{'='*60}") print(f"标题: {info.get('title', '未知')}") print(f"UP主: {info.get('author', '未知')}") print(f"时长: {info.get('duration', '未知')}") print(f"播放量: {info.get('view', 0):,}") print(f"点赞: {info.get('like', 0):,}") subtitles = data.get('subtitles', []) print(f"\n字幕数量: {len(subtitles)}") return True else: print("\n❌ 提取视频信息失败") return False except Exception as e: print(f"\n❌ 发生错误: {e}") import traceback traceback.print_exc() return False finally: await extractor.close() if __name__ == '__main__': result = asyncio.run(main()) sys.exit(0 if result else 1)