
标题是不是很绕……
其实就是一段 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++; }); })(); 2015 年 10 月 10 日:修正错误下载练习题的问题,感谢 @hronro 的反馈。
(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 data = url.split('/'); var type = data[1]; var id = data[2]; if(type != 'video'){ return; } var jsonPath = "http://www.imooc.com/course/ajaxmediainfo/?mid=" + id + "&mode=flash"; dic[id] = index; $.getJSON(jsonPath, getJsonCallback); index++; }); })(); 1 z742364692 2015 年 10 月 9 日 via Android 这个必须赞,电脑上就是不能下载,麻烦 |
2 overlords 2015 年 10 月 9 日 都已经免费了 就不要这样子搞么 投资人看到不好啊。 |
4 uxstone 2015 年 10 月 9 日 慕课网靠什么赚钱? 网易云课堂是含金钥匙出生的 极客学院有 VIP 机制, 慕课网全免费,靠什么盈利? |
7 lxjsmdc 2015 年 10 月 9 日 正好下载了在跑步机上看 |
8 iamcho 2015 年 10 月 9 日 赞一个 |
9 Dsljlbaby 2015 年 10 月 9 日 via Android 顶一个 |
10 dadaboy 2015 年 10 月 9 日 Like. |
13 kappa 2015 年 10 月 9 日 前端不熟悉,博览网 boolan.com 有办法搞定吗? |
14 lxjsmdc 2015 年 10 月 9 日 |
16 badcode 2015 年 10 月 10 日 via iPhone 好吧! IDM 足矣 |
18 Rico 2015 年 10 月 10 日 太实用了,大赞! |
19 cszchen 2015 年 10 月 10 日 做成浏览器插件会不会好一点 |
21 del1214 2015 年 10 月 10 日 好像没有效果啊 |
22 del1214 2015 年 10 月 10 日 用错地方了,还真好用 |
23 Heavytiger 2015 年 10 月 10 日 真心好用。 thanks very much! |
26 Rico 2015 年 10 月 10 日 win 下把脚本放入一个 txt 文件然后 ``` @echo off for /f "tokens=*" %%i in (download.txt) do (start cmd /c %%i & ping -n 2 127.1>nul) pause ``` 保存成 bat 就会批量下载了,wget 的多任务貌似不能同时 |
27 nijux 2015 年 10 月 10 日 移动端都有离线功能 可以下载下来的 |
29 zjqzxc 2015 年 10 月 10 日 |
31 Rico 2015 年 10 月 10 日 嗯.谢谢! |
33 intsilence 2015 年 10 月 10 日 很实用,感谢。 |
34 M4ster 2015 年 10 月 10 日 用 Node.js 写了个 imooc 小爬虫 https://github.com/monkeym4ster/imooc_crawler |
36 M4ster 2015 年 10 月 10 日 Screenshot: |
37 hronro 2015 年 10 月 10 日 有个小 bug ,有的章节可能是练习题,但是还是把它解析成 MP4 了 |
39 fishlee 2015 年 10 月 10 日 via Android 谢谢,先拿去了 |
40 angusun 2015 年 10 月 10 日 mark |
41 hronro 2015 年 10 月 10 日 @Soar360 嗯,找了个这种情况特别多的: http://www.imooc.com/learn/141 https://ooo.0o0.ooo/2015/10/10/5618e212e3c6d.png |
45 LSkyler 2015 年 10 月 14 日 太实用了,大赞!o. |
46 fhefh 2015 年 12 月 4 日 正好有要下载的教程 嘿嘿 |
47 zb3040 2017 年 4 月 21 日 请教楼主现在这个脚本还在更新吗? http://www.imooc.com/learn/822 ,这个视频用着段脚本获取不到 url |