请问对于知道 cid 的已结束课程如何下载?运行显示 keyerror
zb-nju opened this issue · 2 comments
zb-nju commented
请问对于知道 cid 的已结束课程如何下载?运行显示 keyerror
EricZhu-42 commented
同学你好!
我刚刚对代码进行了一些临时更新。现在,它可以下载由cid_list参数所指定的课程(无论是否已结课)的课件内容。为了使用该功能,你需要:
- 获取最新的脚本代码(只更新
download.py
文件即可)。 - 修改
config.json
中的参数,将需要下载的课程cid填入cid_list
内,并调整download_all_courses
参数为false
。
一个合理的config.json
如下例所示。其中,12345是一个已结课课程的cid,且在结课时该学生仍在课程班级内。{ "username": "1234567890", "password": "123456", "headless_mode": true, "download_all_ext": true, "download_all_courses": false, "ext_list": [], "ext_expel_list": [], "cid_list": [12345] }
- 执行脚本。如果指定的课程(假设cid为xxxxx)已结课,对应的课件将会保存至脚本根目录下的
CID_xxxxx
文件夹内(暂时不能获取真实的课程名称,待修复)。
由于此次更新未经过全面测试,我无法保证它在各种环境下的可用性。因此,如果你在测试中发现任何问题,欢迎随时与我联系。如果代码可以正常使用,我会在下一个版本的release中正式发布该功能,并进一步优化脚本的使用配置过程。
感谢你的关注!
另:关于用户权限与可能导致的课件版权相关问题,教学立方平台并不会在结课后调整用户访问课程的权限,即:只有原班级内的学生才能访问课程内容。因此,对“已结课课程内容”进行下载的功能依旧是对平台数据的合理访问。同时,脚本无法在不知道原课程cid的情况下下载对应的课件。如果有同学或老师对该功能的正当性仍有疑虑,请随时联系我,我会考虑移除该功能。
EricZhu-42 commented
功能已整合至最新的release中,目前支持通过指定cid的方式下载已结课课程的课件。