ARTICLE · 1104187
智慧教育平台各学科教学设计/教案一键下载的方法
各学科一键下载总说明适用对象:国家中小学智慧教育平台(basic.smartedu.cn)人教版 / 人教A版 高中教案(教学设计)批量下载 · 维护于 2026-09-28
一句话结论:平台网页端的"下载"按钮是推 App 的死路,纯 Python 直连只能拿到空壳页面;真正可用的是「浏览器取登录态 → 本地 Python 用 MAC 签名搜真实直链 → 带登录态头下载」这一套全自动方案。下面按学科给出现成脚本与一键启动器。
一、为什么不能直接下载(3 个坑)
坑1:网页端不给直链。卡片的"下载"按钮全部跳"客户端下载",诱导装 App,并不返回 .pdf 直链。
坑2:卡片链接靠 JS 拼。卡片的 <a> 的 href 是空的,点击后才由脚本拼出详情页 URL,所以"抓 a 标签"走不通。
坑3:纯 Python 直连是空壳。直接请求下载端点返回的是 6KB 的 SPA 壳 HTML,不是 PDF 二进制——真文件要浏览器 JS 再发一次请求才拿得到。
二、本方案原理
登录后,浏览器 localStorage 里存着登录态(ND_UC_AUTH…token)。我们把这段登录态复制成 token.txt,本地 Python 脚本据此:
① 浏览器控制台复制登录态 → token.txt
② 本地 Python 用 MAC 签名调用搜索接口 → 命中"教学设计"(lesson_plandesign)
③ 详情接口取真实带签名 PDF 直链
④ 带 X-Nd-Auth 登录态头下载到本地
搜索接口必须带 Authorization: MAC … 头(逆向自平台 chunk-uc SDK),不带或 GET 都会 403;详情接口无需鉴权即可返回真实直链;下载时直链私有域名必须带 X-Nd-Auth。
运行流程图
照箭头从上往下做即可;第 ③ 步存 token.txt 是最容易出错的地方,第 ⑤ 步全程无需人工干预。

三、第一步:获取 / 刷新登录态 token.txt(最关键)
token 有效期有限,下载失败 90% 是因为它过期了。出现 401/403 或全程 0 命中时,第一反应就是重做这一步。
用 Chrome / Edge 打开 https://basic.smartedu.cn 并登录你的账号。按 F12 打开开发者工具,切到 Console(控制台)。逐字键入“允许粘贴”后再粘贴下面这行并回车,登录态会自动进剪贴板:
copy(localStorage.getItem(Object.keys(localStorage).find(x=>x.startsWith('ND_UC_AUTH')&&x.endsWith('token'))))
打开记事本,粘贴,保存为 smartedu-download\token.txt(与各个 v18_*.py 同目录)。
保存时编码务必选 UTF-8("另存为"→编码下拉选 UTF-8)。不要手改内容,整段原样保存即可。
四、第二步:一键运行
方式 A:双击启动器(最省事)
在 smartedu-download\ 文件夹里双击对应的 run_v18_*.bat 即可,脚本会自动跑完搜索+下载。
方式 B:命令行
cd smartedu-download
python v18_geo.py # 换成你要的学科脚本名
运行时日志怎么看
• ✅ xxx.pdf via detail-pdf 该小节下载成功。
• ⚠️ 下载失败,稍后检查 该小节本次未取到,多半是 token 过期或网络抖动。
• ❌ 未命中教学设计 平台该小节暂无"教学设计"类资源(见第七节)。
跑完会生成 v18_*_report.json 汇总每个小节的成功/失败状态。
五、各学科一键下载一览表

"已验证"为各 v18_*_report.json 中标记成功的篇数 / 关键词总数;物理、生物、历史、地理的少数未命中均为平台资源缺失或搜索措辞未命中,已尽量用替代关键词或课件兜底。
六、注意事项
本方案下载的教案仅供个人备课、校本教研使用,请遵守平台版权与学校规定,勿作商业传播。
token.txt 等同于你的平台登录凭证,请勿外传、勿提交到公开仓库。
平台接口或登录态机制可能随版本调整,若某天整批失效,多半是接口/鉴权变化,需重新逆向适配。

关注公众号【赤火苍狼】
后台回复:"教案下载脚本"
自动发百度网盘链接 + 提取码给你
●智慧教育平台教学设计一键下载的步骤:
1、在电脑浏览器打开国家中小学智慧教育平台 https://basic.smartedu.cn 并登录,随便搜索一次教学设计关键词如“高中数学集合”,按F12打开控制台,逐字键入“允许粘贴”后再贴入:
copy(localStorage.getItem(Object.keys(localStorage).find(x=>x.startsWith('ND_UC_AUTH')&&x.endsWith('token'))))
回车,按Ctrl+V,保存到文件 token.txt 中。
2、打开 WorkBuddy→新建任务→添加文件 token.txt 与 v18_*.py(想下载哪科就添加哪个.py文件)到同一工作空间中,然后输入提示词:帮我从国家中小学智慧教育平台下载××版高中(初中/小学)××科的教学设计/教案。