原工作流沿用 GitHub 默认模板,会跑两遍 flake8:第二遍带 --exit-zero, 无论发现多少问题都返回成功,因此只是把告警打印到日志里,从不使代码检查失败。 移除该无效的第二遍检查,保留 E9/F63/F7/F82(语法错误、未定义的变量名等 必然是 bug 的问题),并为保留的规则补充说明。同时将文件与 job 更名为 lint, 与其实际用途保持一致。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
国家中小学智慧教育平台 电子课本下载工具
本工具可以帮助您从国家中小学智慧教育平台获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。
✨ 工具特点
- 📚支持批量下载:一次输入多个电子课本预览页面网址,即可批量下载 PDF 课本文件。
- 📂自动命名文件:工具会自动使用电子课本的名称作为默认文件名,方便管理下载的课本文件。
- 🔖自动添加书签:若勾选了 “添加书签” 选项,则会在下载完成后为电子课本添加书签,在查看 PDF 时可更方便地跳转到指定位置。
- 🔑支持 Access Token:支持用户手动输入 Access Token 并自动保存,下次启动可自动加载。
- 🖥️高 DPI 适配:优化 UI 以适配高分辨率屏幕,避免界面模糊问题。
- 💻跨平台支持:支持 Windows、Linux、macOS 等操作系统(需要图形界面)。
📥 下载与安装方法
GitHub Releases
本项目的 GitHub Releases 页面会发布适用于 Windows、Linux、macOS 的 x86_64、Arm64 架构的程序。
下载完成之后不需要额外的安装步骤。Windows 和 Linux 可直接运行本程序。
Warning
在 macOS 操作系统中,由于没有签名,系统会报告文件已被损坏,因此需要先运行
xattr -cr /path/to/tchMaterial-parser.app来移除应用的 “隔离” 属性。为了保证 Access Token 的持久化,建议将应用移动到/Applications目录下再运行。
WinGet
在 Windows 10、Windows 11 与 Windows Server 2025 上,您可以直接在终端中输入以下命令来安装本程序:
winget install tchMaterial-parser
感谢 @PtJade-Ceramic 的建议(#64)!
Arch 用户软件仓库(AUR)
对于 Arch Linux 操作系统,本程序已发布至 Arch 用户软件仓库,因此您可以在终端中输入以下命令来安装本程序:
yay -S tchmaterial-parser
🛠️ 使用方法
1. ⌨️ 输入电子课本链接
将电子课本的预览页面网址粘贴到工具文本框中,支持多个 URL(每行一个)。
示例网址:
https://basic.smartedu.cn/tchMaterial/detail?contentType=assets_document&contentId=XXXXXX&catalogType=tchMaterial&subCatalog=tchMaterial
2. 🔑 设置 Access Token(可选)
Tip
自 v3.1 版本起,这一步操作已经不再必要,当未设置 Access Token 时工具会使用其他方法下载资源。然而,这一方法并不长期有效,因此仍然建议您进行这一步操作。
Warning
友情提示:
- 先登录账号,再粘贴代码!
- 粘贴代码时,不要粘贴到 “过滤” 或 “筛选器” 上,而是 “>” 后面!
- 粘贴时如遇到警告,请先输入 “允许粘贴” 四个字,然后再次粘贴代码!
-
打开浏览器,访问国家中小学智慧教育平台并登录账号。
-
按下 F12 或 Ctrl+Shift+I,或右键——检查(审查元素)打开开发者工具,选择控制台(Console)。
-
在控制台粘贴以下代码后回车(Enter):
(function () { const authKey = Object.keys(localStorage).find((key) => key.startsWith("ND_UC_AUTH"), ); if (!authKey) { console.error("未找到 Access Token,请确保已登录!"); return; } const tokenData = JSON.parse(localStorage.getItem(authKey)); const accessToken = JSON.parse(tokenData.value).access_token; console.log( "%cAccess Token:", "color: green; font-weight: bold", accessToken, ); })(); -
复制控制台输出的 Access Token,然后在本工具中点击 “设置 Token” 按钮,粘贴并保存 Token。
Note
Access Token 可能会过期,若下载失败,请重新获取并设置新的 Token。
3. 🚀 开始下载
点击 “下载” 按钮,工具将自动解析并下载 PDF 课本。
本工具支持批量下载,所有 PDF 文件会自动按课本名称命名并保存在选定目录中。
若您勾选了 “设置书签” 复选框,则本工具会在课本下载完成后自动为其添加书签,在查看 PDF 时可快速跳转到指定位置。
❓ 常见问题
1. ⚠️ 为什么下载失败?
- 如果您没有设置 Access Token,可能是本工具使用的方法失效了,请设置 Access Token🔑。
- 如果您设置了 Access Token,由于其具有时效性(一般为 7 天),因此极有可能是 Access Token 过期了,请重新获取新的 Access Token。
- 确认网络连接是否正常🌐,有时网络不稳定可能导致下载失败。
- 确保输入的网址有效🔗,部分旧资源可能已被移除。
2. 💾Access Token 保存在哪里?
- Windows:Token 会存储在注册表
HKEY_CURRENT_USER\Software\tchMaterial-parser项中的AccessToken值。 - Linux: Token 会存储在文件
~/.config/tchMaterial-parser/data.json中。 - macOS:Token 会存储在文件
~/Library/Application Support/tchMaterial-parser/data.json中。 - 其他操作系统:Token 仅在运行时临时存储于内存,不会自动保存,程序重启后需重新输入,目前我们正在努力改进该功能。
3. 🔐Token 会不会泄露?
- 本工具不会上传 Token,也不会存储在云端,仅用于本地请求授权。
- 请勿在公开场合分享 Token,以免您的账号被他人使用,造成严重后果。
⭐Star History
🤝 贡献指南
如果您发现 Bug 或有改进建议,欢迎提交 Issue 或 Pull Request,让我们一起完善本工具!
📜 许可证
本项目基于 MIT 许可证,欢迎自由使用和二次开发。
💌 友情链接
- 📚 您也可以在 ChinaTextbook 项目中下载归档的电子课本 PDF。


