tchMaterial-parser一键批量下载电子课本PDF【免费下载链接】tchMaterial-parser国家中小学智慧教育平台 电子课本下载工具帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载让您更方便地获取课本内容。项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parsertchMaterial-parser 是一个用 Python 写的小型下载工具。给需要用国家中小学智慧教育平台备课、学习的人把平台电子课本预览页的网址解析成真实的 PDF 直链并批量存到本地。它只解决一个问题平台只能在线看课本没法下载成文件。谁会用得上开学前备新课的任课老师要一次拿齐本学期的课本 PDF平台预览页只能逐页翻看没有下载按钮要离线学习的学生想把一学期的课本带离教室预览页没有导出入口存不成本地文件收共享资料的教研组长想把课本 PDF 发给同事地址栏里的网址只是预览页直接转过去打不开 PDF整理学习资料的家长想把孩子当前用到的课本 PDF 攒进本地文件夹只能一个链接一个链接手动处理功能一览功能一句话说清能做什么典型用法批量 PDF 下载粘贴多个预览页网址每行一个课本 PDF 全部下载并按教材名命名开学前把一学期课本一次下完解析并复制只解析出真实 PDF 直链并放进剪贴板交给 IDM 等工具下载不信任下载速度时先拿到直链学科年级级联选择8 个下拉菜单逐级点选教材自动把完整网址填进输入框手边没有预览页网址时关联音频同步下载下课本的同时抓取配套 MP3 资源另存到“教材名_音频”文件夹备课时连课本带朗读音频一起拿进度与日志进度条 状态标签 日志框实时显示总大小、完成数和失败项盯批量下载的进度 快速上手从0到第一次跑通先装好依赖系统要求Python 3.6 以上建议 3.8需要有图形界面Windows、macOS、Linux 都能跑。git clone https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser cd tchMaterial-parser pip install requests pyperclip psutilWindows 上再装一个 pywin32高 DPI 适配用。装完不报错就算成功。复制课本预览页网址登录国家中小学智慧教育平台打开某本教材的预览页把地址栏完整网址复制下来形如https://basic.smartedu.cn/tchMaterial/detail?contentTypeassets_documentcontentIdxxxx-xxxxcatalogTypetchMaterialsubCatalogtchMaterial网址里带 contentId 参数才算复制对了。网址里的参数都是什么contentId教材的唯一标识是解析的核心contentType资源类型课本一般是assets_document专题课程是thematic_coursecatalogType、subCatalog目录标识照抄页面里的值即可运行程序并下载python src/tchMaterial-parser.pyw把网址粘进文本框多个网址就换行隔开点“下载”按钮并选一个保存目录。窗口底部进度条开始走动、日志框出现“文件已下载到”、目录里出现以教材名命名的 PDF就算跑通了。三个真实场景备课前夜用tchMaterial-parser一次批量下载一学期教材卡点一学期六本教材平台只能在线逐页看一本一本折腾成文件太慢。操作路径登录平台把六本教材的预览页网址逐个复制下来粘贴进程序文本框一行一个点“下载”选一个“七年级教材”这样的文件夹看进度条跑完日志确认没有失败项结果得到六个按教材名命名的 PDF耗时几分钟的量级视网速和文件大小浮动。离线学习网络差的时候把课本带出去卡点家里网络不稳预览页打开就卡没法在线把一学期的资料看完。操作路径趁学校网络稳定把要用的课本预览页网址一次性复制齐粘进程序点“下载”选好文件夹等全部 PDF 下完把整个文件夹拷到 U 盘或同步到平板结果得到一套完整的本地课本 PDF之后离线随时能翻。资源共享给同事一份能直接下的 PDF 直链卡点预览页网址发给同事对方点开的只是在线页面拿不到文件。操作路径把要分享的课本网址粘进文本框点“解析并复制”把剪贴板里的 PDF 直链列表贴进文档发教研群同事用 IDM 或浏览器逐个打开链接下载结果得到一份可直接下载的直链清单自己不用先下到本地。进阶玩法用tchMaterial-parser的解析接口在终端里处理网址清单程序的解析逻辑本质上就是拿 contentId 请求资源详情 JSON在 ti_items 里找 pdf 项。想在一个脚本里处理自己的网址清单时可以抽出这段最小逻辑import requests sid 换成网址里的contentId d requests.get(fhttps://s-file-1.ykt.cbern.com.cn/zxx/ndrv2/resources/tch_material/details/{sid}.json).json() for item in d[ti_items]: if item[lc_ti_format] pdf: print(item[ti_storages][0].replace(-private, ))用级联菜单点选教材程序启动时会拉取平台教材列表构建 8 级联动的下拉菜单学科、年级、册别、版本直到具体书名。记不住网址就逐级点选完整网址会自动填进输入框。拉取列表失败时会弹提示那时改回手动粘贴网址即可。把下载量大的活交给下载管理器点“解析并复制”拿到的就是直链列表粘进 IDM 的批量任务或任何顺手的下载工具接着跑。这个工具只负责把链接解析出来大文件传输交给更熟悉的工具。⚠️ 踩坑记录现象大概率原因怎么解决解析后提示“解析失败请检查URL是否正确”网址不是教材预览页或缺少 contentId从预览页地址栏复制完整网址确认带 contentId启动时弹出“获取资源列表失败”警告当前网络访问不到平台接口换稳定网络重开程序警告不影响手动填链接下载进度条卡住、个别文件下载失败网络波动或对方服务器限速重新点一次下载重试文件多时拆成几批高分屏上界面发糊或排版错乱系统缩放和程序缩放因子不匹配调 Windows 显示缩放或改代码里的 scale 参数它是怎么工作的30秒版预览页网址里的关键就是 contentId。程序从网址里取出 contentId 和 contentType再请求平台的资源详情 JSON 接口。返回的 ti_items 里列着各项资源程序挑出 lc_ti_format 为 pdf 的那一项取 ti_storages 的第一个地址并去掉“-private”就得到一个可公开访问的 PDF 直链。下载跑在守护线程里按 128KB 分块写盘并刷新进度条所以窗口不会卡死。界面用 tkinter/ttk 搭的Windows 上另调系统 API 做了高 DPI 适配。源码看 src/tchMaterial-parser.pyw从parse()函数读起。参与贡献遇到 bug 或下载失败提 Issue写清操作系统、Python 版本和现象能带截图更好会修的话Fork 仓库到自己账号拉个分支改完再提 PR文档也能帮补使用示例、常见问题或平台链接格式变化的说明平台接口变动跟进如果平台调整了详情接口帮忙验证解析逻辑是否还有效课本 PDF 落进本地文件夹事就办完了。启动命令就一条python src/tchMaterial-parser.pyw【免费下载链接】tchMaterial-parser国家中小学智慧教育平台 电子课本下载工具帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载让您更方便地获取课本内容。项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
