happycola233 / tchMaterial-parser
git clone https://github.com/happycola233/tchMaterial-parser.git
v4.4 · 15d ago
国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。
+19
stars, 24h · #777
+~133
stars, 7 days · #941
+~570
stars, 30 days · #926
7.4k
★ total · +2% this week
938
forks · 8 open issues
Star history (as recorded here)
LanguagePython
LicenseMIT
Created2023-08-10 (3y ago)
Last push6d ago
Watchers57
OwnerUser
GitHub topics
Links
- GitHub: github.com/happycola233/tchMaterial-parser
- Homepage: https://www.bilibili.com/video/BV1Eu4y1v7mr/
- Releases · Issues · Hacker News mentions
README excerpt
# tchMaterial-parser **国家中小学智慧教育平台 电子课本下载工具** 一键解析并批量下载电子课本文件,自动命名、自动添加书签,开箱即用。 感谢每一位使用者与贡献者,本项目于 2025 年 5 月登上 **GitHub Trending 总榜第 3 名**(单日新增约 400 Stars),并获得 **Trendshift Python 日榜第 3 名** 🎉 📥 下载安装 · 🛠️ 使用方法 · ❓ 常见问题 · 🐛 反馈问题 --- ☀️ 浅色模式(左) · 🌙 深色模式(右) ## 📖 目录 - ✨ 工具特点 - 📥 下载与安装方法 - 🛠️ 使用方法 - ❓ 常见问题 - ⭐ Star History - 🤝 参与贡献 - ⚖️ 免责声明 - 📜 许可证 - 💌 友情链接 ## ✨ 工具特点 - 📚 **智能下载资源**:一次输入多个电子课本预览页面网址,即可**批量下载**文件,下载过程中会**自动跳过**已下载完成的文件,用户也可**随时停止下载**。 - 📥 **下载管理**:逐项查看下载进度、大小与速度,筛选和搜索任务,集中查看错误详情,停止或重新下载选中的任务。 - 📂 **自动命名文件**:工具会自动使用电子课本的名称作为默认文件名,方便管理下载的课本文件。 - 🔖 **自动添加书签**:若开启 “添加 PDF 书签”,则会在下载完成后为电子课本添加书签,在查看 PDF 时可更方便地跳转到指定位置。 - 🔑 **支持 Access Token**:支持用户手动输入 Access Token 并自动保存,下次启动可自动加载。 - 🔎 **资源快速搜索**:可按资源名称或 “学段、学科、年级” 等分类组合搜索,结果会自动展开;长名称支持横向滚动,悬停时可查看完整信息和大尺寸封面。 - 🖥️ **高 DPI 适配**:优化 UI 以适配高分辨率屏幕,避免界面模糊问题。 - 🌗 **深色模式**:启动时自动跟随系统的浅色/深色模式,也可点击右上角的按钮手动切换,切换结果会被记住。 - 💻 **跨平台支持**:支持 Windows、Linux、macOS 等操作系统(需要图形界面)。 ## 📥 下载与安装方法 | 方式 | 适用平台 | 获取途径 | | :-- | :-- | :-- | | 🐙 **GitHub Releases** | Windows 10(Server 2019)及以上 / Linux / macOS 10.15 及以上(x86_64、Arm64) | 前往 Releases 页面 | | 📦 **WinGet** | Windows 10 / 11 / Server 2025 | `winget install tchMaterial-parser` | | 🐧 **AUR** | Arch Linux | `yay -S tchmaterial-parser` | | 🐍 **从源码运行** | 任意平台(需 Python 3.10+) | 见下文 | ### GitHub Releases 本项目的 GitHub Releases 页面会发布适用于 **Windows 10(Server 2019)及以上、Linux、macOS 10.15 及以上**的 **x86_64、Arm64** 架构的程序。 下载完成之后不需要额外的安装步骤。Windows 和 Linux 可直接运行本程序。 > [!WARNING] > 在 macOS 操作系统中,由于没有签名,系统会报告文件已被损坏,因此需要先运行 `xattr -cr /path/to/tchMaterial-parser.app` 来移除应用的 “隔离” 属性。为了保证 Access Token 的持久化,建议将应用移动到 `/Applications` 目录下再运行。 > [!NOTE] > 如果您使用 Windows 7 或 8.1,您可以使用本项目的一个非官方分支 tchMaterial-parser-for-Windows7,这个分支使用 Python 3.8 语法。 ### WinGet 在 **Windows 10、Windows 11 与 Windows Server 2025** 上,您可以直接在终端中输入以下命令来安装本程序: [code] 感谢 @PtJade-Ceramic 的建议(#64)! ### Arch 用户软件仓库(AUR) 对于 **Arch Linux** 操作系统,本程序已发布至 Arch 用户软件仓库,因此您可以在终端中输入以下命令来安装本程序: [code] 感谢 @iamzhz 为本工具制作了发行包(#26)! ### 从源码运行 若您想体验最新的改动,或是希望参与开发,可以直接从源码运行本工具,详见贡献者指南。 ## 🛠️ 使用方法 ### 1. ⌨️ 输入电子课本链接 将电子课本的**预览页面网址**粘贴到工具文本框中,支持多个 URL(每行一个)。 **示例网址**: [code] ### 2. 🔑 设置 Access Token(可选) > [!TIP] > 此操作**不是必要的**,当未设置 Access Token 时工具会使用其他方法下载资源,但这一方法**并不长期有效**,因此仍然建议您执行这一步操作。 > [!WARNING] > 友情提示: > > 1. **先登录账号,再粘贴代码!** > 2. 粘贴代码时,不要粘贴到 “过滤” 或 “筛选器” 上,而是 “>” 后面! > 3. 粘贴时如遇到警告,请先输入 “**允许粘贴**” 四个字,然后再次粘贴代码! > > 1. **打开浏览器**,访问国家中小学智慧教育平台并**登录账号**。 2. 按下 **F12** 或 **Ctrl+Shift+I**,或右键——检查(审查元素)打开**开发者工具**,选择**控制台(Console)**。 3. 在控制台粘贴以下代码后回车(Enter): [code] 4. 复制控制台输出的**整段 JSON**,然后在本工具中点击 “**设置 Token**” 按钮,粘贴并保存。 > [!NOTE] > Access Token 可能会过期,若下载失败,请重新获取并设置新的 Token。 > > 登录后的 `localStorage` 里还有 `ND_UC_AUTH-…&sdk_cache`(账号资料缓存),里面没有 Token。请运行上面的脚本,不要从开发者工具的 Application 面板里随便复制一项。 ### 3. 🚀 开始下载 点击 “**下载**” 按钮,工具将自动解析并下载电子课本文件。 本工具支持**批量下载**,所有文件会自动按课本名称命名并保存在选定目录中。选定目录中已下载完成的同名课本会被**自动跳过**,因此重新下载整套课本时只会补齐缺失与上次失败的文件。 下载过程中,可随时点击 “**停止下载**” 按钮来停止本次下载;已完成的文件会保留,未下载完的文件不会留下残缺内容。 “**下载管理**” 会在开始下载时打开,也可从主界面底部随时进入。列表显示每个文件的排队、连接、下载