一个智能的B站视频字幕分析工具,能够根据用户需求自动完成从关键词生成到内容分析的全流程工作。
- 基于用户需求自动生成精准搜索关键词
- 支持多维度关键词扩展
- 智能过滤无关词汇
- 使用B站官方API搜索相关视频
- 按综合排序算法获取最相关结果
- 支持指定搜索数量
- 优先下载中文字幕
- 支持多语言字幕备选机制
- 自动保存字幕文件
- 基于需求内容和字幕生成结构化报告
- 支持多种报告格式(选购指南、研究报告等)
- 智能提取关键信息和洞察
pip install -r requirements.txt编辑 config.py 文件,填入您的B站登录凭证:
# 您的B站登录凭证
SESSDATA = "您的SESSDATA"
BILI_JCT = "您的BILI_JCT"
DEDE_USER_ID = "您的用户ID"# 基本用法
python run.py "如何选购笔记本电脑"
# 自定义搜索参数
python run.py "人工智能发展趋势" -k 5 -v 4
# 指定输出目录
python run.py "Python学习教程" -o my_outputdemand(必需): 用户需求描述-k, --keywords: 最大关键词数量,默认5个-v, --videos: 每个关键词搜索的视频数量,默认3个-o, --output: 输出目录,默认'output'
from run import BilibiliSubtitleAnalyzer
# 创建分析器
analyzer = BilibiliSubtitleAnalyzer()
# 执行分析
results = analyzer.analyze(
"如何选购笔记本电脑",
videos_per_keyword=3,
max_keywords=5
)
# 打印总结
analyzer.print_summary(results)分析完成后会生成以下文件:
subtitles/: 字幕文件目录{BV号}_{语言}.txt: 下载的字幕文件
reports/: 报告文件目录{需求主题}_分析报告_{时间戳}.md: 生成的分析报告
output/: 其他输出文件
# 选购指南分析报告
## 报告概述
- 生成时间: 2024-01-01 10:00:00
- 用户需求: 如何选购笔记本电脑
- 分析来源: 8个相关视频
## 关键选购要点
- 注意CPU性能和核心数
- 内存建议16GB以上
- 固态硬盘比机械硬盘更快
- ...
## 市场洞察
- 内容较为丰富,提供了详细的信息
- 内容与用户需求高度相关
- ...
## 选购建议
- 建议对比多个产品的性能和价格
- 考虑实际使用需求和预算
- ...# 研究报告分析
## 报告概述
- 生成时间: 2024-01-01 10:00:00
- 研究主题: 人工智能发展趋势
- 数据来源: 10个相关视频
## 研究关键发现
- AI技术正在向多模态发展
- 大语言模型成为研究热点
- ...
## 分析洞察
- 内容结构清晰,便于理解
- 信息时效性较好
- ...
## 研究建议
- 建议关注行业最新动态
- 结合多个来源进行综合分析
- ...- 智能关键词生成
- 需求类型分析
- 关键词扩展和优化
- B站视频搜索
- 搜索结果去重
- 搜索统计和报告
- 智能字幕下载
- 多语言支持
- 下载状态监控
- 内容分析和提取
- 报告模板生成
- 洞察和建议生成
- 配置管理
- 参数验证
- 性能调优
DEFAULT_SEARCH_CONFIG = {
'videos_per_keyword': 3, # 每个关键词搜索的视频数量
'max_keywords': 5, # 最大关键词数量
'search_timeout': 10, # 搜索超时时间(秒)
'retry_attempts': 3, # 重试次数
}DOWNLOAD_CONFIG = {
'output_dir': 'subtitles', # 字幕输出目录
'preferred_languages': ['中文', '中文(中国)', '中文(简体)', '中文(繁體)'],
'fallback_languages': ['English', '英文'],
'timeout': 15, # 下载超时时间(秒)
}python run.py "如何选购智能手机" -k 4 -v 3python run.py "Python编程入门教程" -v 5python run.py "区块链技术发展趋势" -k 6 -v 4 -o blockchain_report- API限制: B站API有请求频率限制,请合理控制搜索数量
- 登录凭证: 需要有效的B站登录凭证,过期需要更新
- 网络环境: 确保稳定的网络连接
- 字幕可用性: 不是所有视频都有字幕,成功率可能受影响
- 内容质量: 分析结果依赖于视频内容的质量和相关性
-
搜索失败
- 检查网络连接
- 验证登录凭证是否有效
- 降低搜索频率
-
字幕下载失败
- 视频可能没有字幕
- 检查网络连接
- 尝试重新运行
-
配置错误
- 运行
python config.py验证配置 - 检查文件权限
- 运行
启用日志后,可以在控制台查看详细的操作日志:
# 在config.py中启用日志
OUTPUT_CONFIG = {
'enable_logging': True,
'log_level': 'INFO',
}在 content_analyzer.py 中添加新的报告生成函数:
def _generate_custom_report(self, user_demand, key_points, insights, recommendations, search_data):
# 自定义报告逻辑
return "自定义报告内容"修改 keyword_generator.py 中的关键词扩展逻辑:
# 添加新的同义词
self.synonym_dict = {
'电脑': ['计算机', 'PC', '台式机', '笔记本'],
# 添加新的映射
}本项目基于 MIT 许可证开源。
欢迎提交 Issue 和 Pull Request 来改进这个项目!