EricZhu-42/PedagogySquare_Downloader

请问对于知道 cid 的已结束课程如何下载?运行显示 keyerror

zb-nju opened this issue · 2 comments

请问对于知道 cid 的已结束课程如何下载?运行显示 keyerror

同学你好!

我刚刚对代码进行了一些临时更新。现在,它可以下载由cid_list参数所指定的课程(无论是否已结课)的课件内容。为了使用该功能,你需要:

  1. 获取最新的脚本代码(只更新download.py文件即可)。
  2. 修改config.json中的参数,将需要下载的课程cid填入cid_list内,并调整download_all_courses参数为false
    一个合理的config.json如下例所示。
    {
        "username": "1234567890",
        "password": "123456",
        "headless_mode": true,
        "download_all_ext": true,
        "download_all_courses": false,
        "ext_list": [],
        "ext_expel_list": [],
        "cid_list": [12345]
    }
    
    其中,12345是一个已结课课程的cid,且在结课时该学生仍在课程班级内
  3. 执行脚本。如果指定的课程(假设cid为xxxxx)已结课,对应的课件将会保存至脚本根目录下的CID_xxxxx文件夹内(暂时不能获取真实的课程名称,待修复)。

由于此次更新未经过全面测试,我无法保证它在各种环境下的可用性。因此,如果你在测试中发现任何问题,欢迎随时与我联系。如果代码可以正常使用,我会在下一个版本的release中正式发布该功能,并进一步优化脚本的使用配置过程

感谢你的关注!

另:关于用户权限与可能导致的课件版权相关问题,教学立方平台并不会在结课后调整用户访问课程的权限,即:只有原班级内的学生才能访问课程内容。因此,对“已结课课程内容”进行下载的功能依旧是对平台数据的合理访问。同时,脚本无法在不知道原课程cid的情况下下载对应的课件。如果有同学或老师对该功能的正当性仍有疑虑,请随时联系我,我会考虑移除该功能。

功能已整合至最新的release中,目前支持通过指定cid的方式下载已结课课程的课件。