neuronalism / edxdlr

edx Downloader 课程视频工具
GNU General Public License v3.0
18 stars 6 forks source link

edX Courseware Downloader

一个 edX 课程下载脚本,改自 edx-dl 项目 ( https://github.com/coursera-dl/edx-dl )。

看起来原来的项目已经无人维护了,按照 edX 官方提供的 API 修改了原来的代码。由于本人比较菜、没怎么写过 python 代码,也顺便删掉了一些看得不顺眼的功能(具体见下)。

使用方法

首先,你要有一个 edX 的账号,并且你要 enroll 进你想下载的课程里。

然后,在命令行里输入 python edxdlr.py,后面跟上命令。

两个常用命令:

其它命令可 python edxdlr.py --help 来查看。

COURSEID 即课程 ID。举个例子,如果你的课程链接是 https://learning.edx.org/course/course-v1:MichiganX+py4e101x+2T2021a/home ,那么课程 ID 就是中间的那一串 course-v1:MichiganX+py4e101x+2T2021a。

使用限制

安装要求

需要 python 3.6 或更高环境,以及下列依赖:

可用 pip install -r requirements.txt 安装。

与原 edx-dl 的不同之处

特性说明:--download-m3u8 高清下载

  1. 前往 ffmpeg 官网 下载程序
  2. 将其添加到系统的可执行路径中
  3. 在 edxdlr 后面的参数中增加 --download-m3u8 选项

使用 m3u8 方式将下载最高清晰度的视频。如果没有 ffmpeg 来转码,文件夹内将会保留合并后尚未转码的 ts 文件,需使用可解码的播放器(如 VLC)才能播放。

特性说明:--short-names 短文件名

特性说明:--process k 多进程下载 (testing)

常见问题

  1. 这程序会不会记录我的密码? 会,但只在运行时候记住。下次运行还要再输入一次。(你不给也没法登录啊)

  2. 访问不了 edx? 这我帮不了你。理论上,如果你网页能直接登录,这个脚本也可以访问。

  3. 有课程下不了? 在浏览器里登录账号后,在 dashboard 里确认你的课程符合上面说的课程链接格式,且是 Started 或 Archived。旧格式课程可使用原来的 edx-dl 下载。如果还是下载不了,发个 issue,带上课程链接和报错信息我看看。

  4. 一些字幕无法下载? 这是一个已知问题,新版的 edx 字幕的接口有些复杂,我需要更多时间来处理。如果遇到字幕错误导致无法下载,请先暂时不要在下载参数中加上 --download-subtitles,以确保其它内容正常下载。

  5. 其它程序崩溃问题? 任何出错,都先看看浏览器里自己的账号能不能登录、dashboard 能不能看到、课程链接对不对。如果都正常,请发个 issue,带上课程链接和报错信息我看看。

免责声明

本程序仅提供一种非浏览器方式访问 edX 网站的方法。使用者在使用本程序时需要满足 edX 的使用条款 (Terms of Service | edX),限使用者本人出于个人学习目的使用。任何使用者的不当操作与本程序无关。