# wcl_v2 **Repository Path**: macheals/wcl_v2 ## Basic Information - **Project Name**: wcl_v2 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-25 - **Last Updated**: 2025-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Warcraft Logs API 工具 这是一个用于访问 [Warcraft Logs](https://www.warcraftlogs.com/) API 的 Python 工具包,可以获取战斗报告数据和访问令牌。 ## 🎯 功能特点 - ✅ 自动获取 Warcraft Logs API 访问令牌 - ✅ 获取指定报告代码的战斗数据 - ✅ 支持 GraphQL 查询 - ✅ 时间戳自动转换为北京时间(东8区) - ✅ 完整的错误处理和异常管理 - ✅ 模块化设计,易于集成到其他项目 ## 📋 环境要求 - Python 3.7+ - requests 库 ## 🚀 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 运行示例 ```bash # 激活虚拟环境(可选) source venv/bin/activate # 运行示例 python simple_report_example.py ``` ### 3. 获取报告数据 ```python from simple_report_example import get_report_data # 获取报告数据 report_code = "tTAM3BKp9Yjd7RHr" # 从WCL网站URL中获取 data = get_report_data(report_code) if data: print(f"报告代码: {data['code']}") print(f"开始时间: {data['startTime']}") print(f"战斗数量: {len(data['fights'])}") ``` ## 📖 API 使用说明 ### 获取访问令牌 ```python from simple_report_example import get_wcl_access_token token = get_wcl_access_token() if token: print(f"成功获取访问令牌: {token[:50]}...") ``` ### 获取报告数据 ```python from simple_report_example import get_report_data # 自动获取令牌并获取报告数据 report_data = get_report_data("tTAM3BKp9Yjd7RHr") # 或者使用已有的令牌 report_data = get_report_data("tTAM3BKp9Yjd7RHr", access_token="your_token_here") ``` ### 时间转换 ```python from simple_report_example import convert_to_china_time # 将毫秒时间戳转换为北京时间 china_time = convert_to_china_time(1764056339144) print(china_time) # 输出: 2025-11-11 20:54:41 ``` ## 📁 项目结构 ``` wcl_api/ ├── README.md # 项目说明文档 ├── requirements.txt # 依赖库列表 ├── .gitignore # Git忽略文件 ├── simple_report_example.py # 主要功能模块 ├── api/ │ └── v2.http # HTTP请求示例文件 └── venv/ # Python虚拟环境(已忽略) ``` ## 🔧 主要函数 ### `get_wcl_access_token()` 获取 Warcraft Logs API 访问令牌 **返回值**: `str` - 访问令牌,失败返回 `None` ### `get_report_data(report_code, access_token=None)` 获取指定报告代码的战斗数据 **参数**: - `report_code` (str): WCL报告代码 - `access_token` (str, optional): 访问令牌,如为None则自动获取 **返回值**: `dict` - 报告数据,失败返回 `None` ### `convert_to_china_time(timestamp_ms)` 将毫秒时间戳转换为北京时间 **参数**: - `timestamp_ms` (int): 毫秒时间戳 **返回值**: `str` - 格式化的时间字符串(yyyy-MM-dd hh:mm:ss) ## 📊 数据格式 ### 报告数据结构 ```python { 'code': 'tTAM3BKp9Yjd7RHr', # 报告代码 'startTime': 1764056339144, # 开始时间(毫秒) 'endTime': 1764063887144, # 结束时间(毫秒) 'fights': [ # 战斗列表 { 'id': 1, 'name': 'Boss名称', 'startTime': 1764056339144, 'endTime': 1764057889144, 'kill': False, # 是否击杀 'bossPercentage': 0.684 # 血量百分比(0-1) } # ... 更多战斗 ] } ``` ## ⚠️ 注意事项 1. **API 限制**: Warcraft Logs API 有访问频率限制,请合理使用 2. **令牌有效期**: 访问令牌有过期时间,建议每次使用前重新获取 3. **报告代码**: 报告代码可以从 WCL 网站 URL 中获取,格式类似 `tTAM3BKp9Yjd7RHr` 4. **时区转换**: 时间戳会自动转换为北京时间(UTC+8) ## 🔗 相关链接 - [Warcraft Logs 官网](https://www.warcraftlogs.com/) - [Warcraft Logs API 文档](https://www.warcraftlogs.com/api/docs) - [GraphQL 查询语法](https://graphql.org/learn/) ## 📝 许可证 本项目采用 MIT 许可证,详见项目根目录。 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request 来改进这个项目! --- **作者**: GUANGYU WANG (xinyukc01@hotmail.com) **最后更新**: 2025年11月25日 # WCL 视频裁剪工具 这个工具用于根据WCL战斗报告自动裁剪视频片段。 ## 已完成的工作 1. **修复了FFmpeg环境问题**:成功配置了FFmpeg路径,确保视频处理功能正常工作。 2. **创建了测试批处理文件**:`cut_video_test.bat` - 用于测试前5个视频片段的处理(已验证可以正常工作)。 3. **创建了完整的批处理文件**:`cut_video_all_en.bat` - 用于处理所有33个视频片段。 ## 如何运行 ### 方法1:直接运行批处理文件 - 双击 `cut_video_all_en.bat` 文件即可开始处理所有视频片段。 ### 方法2:通过命令行运行 1. 打开命令提示符(cmd.exe) 2. 导航到当前文件夹:`cd D:\my\wow\wcl_v2` 3. 执行命令:` .\cut_video_all_en.bat` ## 处理详情 - 批处理文件会自动创建 `output` 目录(如果不存在) - 使用完整的FFmpeg路径进行处理,避免路径问题 - 每个视频片段处理完成后会显示进度信息 - 处理失败时会显示错误信息并停止 - 所有片段处理完成后会显示成功消息 ## 输入输出 - **输入**:`input` 目录中的 `2025-11-24 20-40-14.mp4` 文件 - **输出**:`output` 目录中生成的33个视频片段文件 ## 注意事项 - 整个处理过程可能需要一些时间,请耐心等待 - 确保输入视频文件存在且未被占用 - 确保有足够的磁盘空间来存储输出文件 - 如果遇到问题,请检查FFmpeg路径是否正确(当前路径:D:\my\wow\ffmpeg-2025-11-24-git-c732564d2e-full_build\ffmpeg-2025-11-24-git-c732564d2e-full_build\bin\ffmpeg.exe) ## 示例命令 ``` # 无损分割视频命令 >ffmpeg -ss 2:13:31 -t 2:31:39 -i '.\2025-11-24 20-40-14.mp4' -c copy output/1124_M7.mp4 * -c copy 是 无损复制,不会改变视频质量 # 使用Python脚本通过WCL报告代码裁剪视频 python .\cut_video_by_report.py '.\input\2025-11-24 20-40-14.mp4' 4dCq829wprDfYxbM python cut_video_by_report.py ".\input\2025-11-24 20-40-14.mp4" "4dCq829wprDfYxbM" python cut_video_by_report.py “8ncZXNDPFgzjfrtp” ``` > Get-ChildItem -Path .\venv\Scripts -Name activate*