写了一个慕课网视频批量下载脚本生成脚本

2015-10-09 18:15:49 +08:00
 Soar360

标题是不是很绕……
其实就是一段 Javascript 代码,用来生成批量下载视频的 shell 代码。

首先进入教程学习页面,比如这个: http://www.imooc.com/learn/514

然后 F12 打开控制台( Chrome 浏览器),把写好的脚本粘贴执行。

执行完毕后,再输入:“ document.cmd ”就可以拿到下载命令了。直接 shell 执行或者在 Windows 下搞一个 wget 放在同级目录即可。

脚本如下:

(function () {
    document.cmd = '';
    var dic = {};
    function getJsonCallback(json) {
        var result = json.data.result;
        var data = { name: result.name, id: result.mid, url: result.mpath[0] };
        var cmd = 'wget -O "' + dic[data.id] + " - " + data.name + '.mp4" ' + data.url;
        console.log(cmd);
        document.cmd += cmd;
        document.cmd += '\r\n';
    }

    var index = 1;
    $('.J-media-item').each(function () {
        var url = $(this).attr('href');
        var id = url.split('/')[2];
        var jsonPath = "http://www.imooc.com/course/ajaxmediainfo/?mid=" + id + "&mode=flash";
        dic[id] = index;
        $.getJSON(jsonPath, getJsonCallback);
        index++;
    });
})();
14446 次点击
所在节点    JavaScript
48 条回复
hronro
2015-10-10 18:02:21 +08:00
@Soar360 嗯,找了个这种情况特别多的:
http://www.imooc.com/learn/141
https://ooo.0o0.ooo/2015/10/10/5618e212e3c6d.png
Soar360
2015-10-10 18:32:58 +08:00
@hronro 搞定了,谢谢。
mgcnrx11
2015-10-11 10:54:30 +08:00
报告一下:使用 @M4ster 的 coffee 脚本在下载 337 课程的时候抱错,貌似是解析的问题
M4ster
2015-10-11 12:02:20 +08:00
@mgcnrx11 感谢反馈。已对文件名进行特殊符号替换为下划线处理 ;-)
LSkyler
2015-10-14 20:12:10 +08:00
太实用了,大赞!o.
fhefh
2015-12-04 13:04:16 +08:00
正好有要下载的教程 嘿嘿
zb3040
2017-04-21 13:55:03 +08:00
请教楼主现在这个脚本还在更新吗? http://www.imooc.com/learn/822 ,这个视频用着段脚本获取不到 url
Soar360
2017-04-22 23:37:08 +08:00
@zb3040 已经被封杀了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/226681

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX