MOOC 课程存在有效期,设定的学期结束即无法观看。
Course Crawler 这个爬虫工具的出现,则提供了极大的便利。
准备
第一步:安装 Python 3 环境
进入 Python 3 官网(https://www.python.org/downloads/),选择合适的版本下载安装即可。
第二步:通过 pip 安装程序要用到的3个运行库: requests
, BeautifulSoup4
, lxml
打开 Python 的安装目录,进入到 Scripts 目录(我这里是 C:\Users\Kiwiape\AppData\Local\Programs\Python\Python37-32\Scripts
),按住 Shift 同时鼠标右键单击资源管理器的空白区域,选择“在此处打开命令窗口”(最新版本 Win10 已使用 PowerShell 替换命令行)。
在打开的命令行窗口中输入 pip install requestsBeautifulSoup4lxml
并回车。如下图,运行结束且无错误提示即安装成功。
第三步:从 Github 下载最新的 Course Crawler 程序包,并解压。
到此为止,运行环境和软件均已准备完成。
使用
解析课程资源
如下图所示,打开你需要下载的课程详情页(并非课程学习页),复制课程网址。
在解压出来的程序包文件夹内,用同样的方式打开命令行,并输入 python mooc.py<url>
即可下载课程到当前文件夹,其中这里的 <url>
就是上面我们复制的课程网址。
回车后,程序随即开始解析课程资源。
等待解析完成后,我们可以在程序目录下发现以刚才课程命名的文件夹。文件夹内通常会有 Files, PDFs, Texts 三个子文件夹,和 Outline.txt, Rename.bat, Videos.txt 三个文件(具体视课程内容而定)。
其中 Files, PDFs, Texts 分别为老师上传的附件、课件、富文本,爬虫已经替你下载好了。而 Outline.txt 和 Rename.bat 分别是课程资源的结构和重命名程序,这两个我们不要动,之后会用到。
下载和整理课程视频
打开 Videos.txt 可以发现里面都是视频的下载地址,我们需要将它们复制到下载工具中进行下载。我这里所使用的的是 IDM 这款多线程下载器,你也可以使用迅雷等其他工具。
看到乱码的视频文件名,我想你应该能够猜到刚才两个文件的作用了吧!没错,等到视频都下载完成后,我们把所有乱码的 mp4 文件移动到刚才的课程目录,然后双击打开 Rename.bat ,稍等命令行闪过几秒,就可以看到,原来乱码的视频都变成了标准的小课程名。