# Chaoxing 课程字幕批量下载工具

本项目包含自动化脚本，可批量提取超星课程视频字幕（SRT），支持 Cookie 配置和多课程处理。

# 总结：使用/处理顺序
学生学习页面 -> cookie -> url -> py -> 手动提取每一章第一节 -> handle.exe -> srtTotxt.bat -> 清洗提示词.md

## 使用方法

### 1. 环境准备
- 安装 Python 3.x
- 安装依赖包：
  ```bash
  pip install requests beautifulsoup4 python-dotenv
  ```

### 2. 配置 Cookie
- 在项目根目录下创建 `.env` 文件（已自动生成），内容如下：
  ```env
  CHAOXING_COOKIE=你的超星登录Cookie
  ```
- 如 Cookie 过期或更换账号，直接修改 `.env` 文件即可。

### 3. 下载课程 HTML
- 用浏览器保存你要下载字幕的课程页面（建议保存课程目录页或视频列表页），如 `course.html`。
- 将 HTML 文件放到脚本所在目录。

### 4. 提取字幕 JSON 链接
- 运行 `subtitle_downloader.py`，自动解析 HTML，提取所有字幕 JSON 链接，保存为 `subtitles/课程名.txt`。
  ```bash
  python subtitle_downloader.py
  ```
- 如需处理其他课程，只需更换 HTML 文件并重新运行脚本。

### 5. 下载 SRT 字幕文件
- 运行 `srt_fetcher.py`，自动读取 `subtitles/` 下所有 `.txt`，下载对应 SRT 文件到 `srt/` 文件夹。
  ```bash
  python srt_fetcher.py
  ```

## 文件说明
- `downloader.py`：通用文件下载脚本（如需下载其他资源可用）
- `subtitle_downloader.py`：解析课程 HTML，提取字幕 JSON 链接
- `srt_fetcher.py`：批量下载 SRT 字幕文件
- `.env`：存储 Cookie
- `subtitles/`：保存每个课程的字幕 JSON 链接
- `srt/`：保存下载的 SRT 字幕文件

## 常见问题
- Cookie 失效：请重新获取并更新 `.env` 文件
- 页面结构变化：如遇解析失败，请反馈或自行调整 `subtitle_downloader.py` 的解析逻辑
- SRT 下载失败：检查 Cookie 是否有效，或字幕 JSON 链接是否正确

## 手动下载每一章节第一篇内容！！

## 免责声明
本脚本仅供学习交流使用，请勿用于任何商业或非法用途。
