35d9e49e814d1408c0d6496f076cec246fb6bb39
Chaoxing 课程字幕下载与清洗工具
本项目用于从超星学习通课程页面批量提取字幕信息并下载 SRT,再转换为纯文本,方便后续整理复习资料。
当前实际流程
学生学习页面.html + .env -> srt_downloader.py -> subtitles/*.txt(字幕索引JSON) + srt/*.srt -> handle.exe(提取正文) -> SrtToTxt.bat(改后缀) -> docs/清洗提示词.md
环境要求
- Python 3.9+
- Windows(
handle.exe和SrtToTxt.bat为 Windows 工具) - Python 依赖:
pip install requests beautifulsoup4 python-dotenv
配置
在项目根目录准备 .env:
CHAOXING_COOKIE=你的完整Cookie字符串
COURSE_URL=https://mooc1.chaoxing.com/mooc-ans/mycourse/studentstudy?courseId=...&clazzid=...&cpi=...
说明:
CHAOXING_COOKIE用于访问课程接口,Cookie 失效后需要更新。COURSE_URL用于自动解析courseId/clazzid/cpi。- 如果项目根目录已有
学生学习页面.html,脚本会优先使用本地 HTML;如果没有,会尝试用COURSE_URL在线下载页面。
使用步骤
1) 获取课程页面(两种方式任选其一)
- 方式 A(推荐):在浏览器中保存课程目录页为
学生学习页面.html,放到项目根目录。 - 方式 B:只配置
.env中的COURSE_URL,由脚本自动下载页面。
2) 下载字幕索引和 SRT
在项目根目录执行:
python srt_downloader.py
执行后会生成:
subtitles/*.txt:每节课对应的字幕轨道 JSON(通常包含url字段)srt/*.srt:下载后的字幕文件
3) 提取字幕正文(可选)
进入 srt/ 目录运行 handle.exe(或编译 sourse/handle.cpp):
- 输入:
*.srt - 输出:
handled_*.srt(仅保留字幕文本行)
4) 批量改后缀为 txt(可选)
在包含 *.srt 的目录运行:
SrtToTxt.bat
脚本会把当前目录下 .srt 批量重命名为 .txt。
5) 进一步清洗整理(可选)
可参考:
docs/清洗提示词.md
用于将字幕整理成适合开卷考试复习的结构化讲义。
目录说明
srt_downloader.py:主脚本(解析课程章节、拉取字幕索引、下载 SRT)subtitles/:每节课字幕索引 JSON 文本srt/:字幕文件与处理结果sourse/handle.cpp:handle.exe对应源码SrtToTxt.bat:批量重命名后缀学生学习页面.html:课程页面样本学生学习页面_files/:页面依赖资源(含cards.html)docs/清洗提示词.md:后续文本清洗提示词模板
常见问题
subtitles某些文件只有 2 字节或为空:通常是该章节无字幕、权限不足或 Cookie 过期。- 下载失败 / 返回登录页:优先检查
CHAOXING_COOKIE是否可用。 - 章节解析不到:课程页面结构变化时,需调整
srt_downloader.py中parse_knowledge_entries的选择器逻辑。 - 文件名异常:脚本会自动替换 Windows 非法文件名字符。
免责声明
本项目仅供学习与技术交流,请遵守平台服务条款及相关法律法规,不得用于非法或商业侵权用途。
Description
Languages
CSS
52.3%
HTML
45.9%
Python
1.5%
C++
0.2%