近来有同学向我推荐了一款好用的MOOC下载器,软件地址在这里:学无止MOOC下载器。
源代码作者已经停止维护了,但是release出了收费版本,不过打包的版本总是不如脚本简洁,而且限速也颇为恼火。
通过调试源码,我发现脚本的爬虫部分还能正常工作,只是调用下载器的地方出了问题。这是个好消息,我只需要稍微改动脚本就能够自由地下载课程了!
来到Mooc_Download.py文件的aria2_download_file函数下,将解析到的url和视频名字重定向到文本文档:
def aria2_download_file(url, filename, dirname='.'): cnt = 0 while cnt < 3: ##############这里加上################ with open('E:\names.txt', 'a+', encoding='utf-8') as f: f.write(url+' #'+filename+' ') with open('E:\urls.txt', 'a+', encoding='utf-8') as f: f.write(url+' ') return ##############这里加上################ try: cmd = aira2_cmd.format(url=url, dirname=dirname, filename=filename) p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, universal_newlines=True, encoding='utf8') # # #节选 # #
在原来函数的try块之前将信息写入文档,然后直接return返回。我这里写入了两份文件是为了后序改名方便。
现在正常运行脚本,输入课程地址进行下载,完成后从urls.txt中复制出解析到的链接,使用IDM的从剪贴板中添加批量下载功能即可导入下载。最后再写一个简单的脚本完成视频重命名即可。
这种方式虽然粗暴不雅,但却力求简单,以最少的工作量完成任务,从而能将节约出的宝贵时间用于其他有益的学习。