上周三收到Coursera平台的群发邮件,大意是Coursera将在6月30号彻底关闭旧的课程平台,全面升级到新的课程平台上,一些旧的课程资源(课程视频、课程资料)将不再保存,如果你之前学习过相关的课程,或者有心仪的课程,Coursera建议你将这些课程资源下载下来备份。

说实话,自从Coursera这一两年逐渐进行“商业升级”以后,我已经很少在这个平台上学习公开课了,反而是edX的一些课程更吸引我,特别是课程质量,后者显得更用心很多。不过作为最早的MOOC平台Coursera,曾经诞生了很多经典课程,要是这些课程真的随Coursera平台的切换而丢失,实在可惜。这里曾经整理过一批“公开课可下载资源汇总”,很多来自于大家的贡献和分享,不过这也是两三年前的事情,一些课程网盘资源已经失效,这封邮件促使我开始检查这些网盘资源,特别是来自Coursera平台的课程资源。之前有些课程资源没有下载或者没有网盘资源,以为只要有Coursera账号,就可以随时登陆上去在线观看就可以了,也没有下载的欲望,现在不同了,例如斯坦福大学Dan Jurafsky和Christopher Manning的自然语言处理课程,例如一直没有开课却可以preview观看的大牛Pedro Domingos的机器学习课程,下载和备份是必须的。

工欲善其事,必先利其器,针对Coursera的下载工具有很多,包括一些浏览器插件,不过这里推荐的是Python下载工具Coursera Downloader, 简称coursera-dl。这个神器早在几年前我就用过,印象深刻,这次重拾,依然非常方便给力。最简单的安装方法是“pip install coursera”,可参考github上该项目的安装说明。下面以Mac OS系统为例简单说明一下基于virtualenv的安装使用方法,该方法对ubuntu这样的linux系统应该有效,windows下没有测试,未知。

首先从github上获取代码,git clone或者直接下载zip源码文件均可:

git clone https://github.com/coursera-dl/coursera-dl

Cloning into ‘coursera-dl’…
remote: Counting objects: 3357, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 3357 (delta 6), reused 0 (delta 0), pack-reused 3343
Receiving objects: 100% (3357/3357), 1.39 MiB | 75 KiB/s, done.
Resolving deltas: 100% (1852/1852), done.

cd coursera-dl/

virtualenv my-coursera

New python executable in /Users/xxxxxx/project/mooc/test/coursera-dl/my-coursera/bin/python
Installing setuptools, pip, wheel…done.

source my-coursera/bin/activate

pip install -r requirements.txt

Collecting beautifulsoup4>=4.1.3 (from -r requirements.txt (line 1))
…..
Installing collected packages: beautifulsoup4, six, html5lib, requests, urllib3, pyasn1, keyring
Successfully installed beautifulsoup4-4.4.1 html5lib-1.0b8 keyring-9.0 pyasn1-0.1.9 requests-2.10.0 six-1.10.0 urllib3-1.16

安装完毕,以下是coursera-dl的详细用法:

General: coursera-dl -u -p modelthinking-004
Multiple classes: coursera-dl -u -p saas historyofrock1-001 algo-2012-002
Filter by section name: coursera-dl -u -p -sf “Chapter_Four” crypto-004
Filter by lecture name: coursera-dl -u -p -lf “3.1_” ml-2012-002
Download only ppt files: coursera-dl -u -p -f “ppt” qcomp-2012-001
Use a ~/.netrc file: coursera-dl -n — matrix-001
Get the preview classes: coursera-dl -n -b ni-001
Specify download path: coursera-dl -n –path=C:\Coursera\Classes\ comnetworks-002
Display help: coursera-dl –help

Maintain a list of classes in a dir:
Initialize: mkdir -p CURRENT/{class1,class2,..classN}
Update: coursera-dl -n –path CURRENT `\ls CURRENT`

我们以Coursera上密歇根大学的“自然语言处理入门”课程为例,在旧的课程课程主页“Introduction to Natural Language Processing”,首先需要加入(Enroll)该课程的一个班次,目前只有2015年10月到12月开过一轮课,加入该轮课程后,进入到课程详细页面,可以看到网页链接类似这个形式:

https://class.coursera.org/nlpintro-001/lecture

对于Coursera Downloader来说,主要需要的就是这个”nlpintro-001″课程班次短链接,然后就可以尝试下载了,这里用 –path指定了课程下载路径:

coursera-dl -u 用户邮箱 -p 用户密码 --path=../../coursera_backup/ nlpintro-001

然后就开始了下载历程。。。。。。可能和网络有关,这个下载有时候会中断或者停止不动假死,coursera-dl提供了一个“Resuming downloads”模式,类似于“断点续传”,非常有用,可以用如下命令恢复之前中断的下载:

coursera-dl -u 用户邮箱 -p 用户密码 --path=../../coursera_backup/ --resume nlpintro-001

这种加入课程然后下载课程资料的方法比较全,除了课程视频外,还可以下载课程相关的课件和字幕。如果你没有加入课程,Coursera Downloader提供了一个下载preview课程的方法,不过只能下载课程视频,但是前提是你必须有Coursera账号。以一直没有开课却可以preview观看的大牛Pedro Domingos的机器学习课程为例,点击该课程主页Machine Learning上的”Preview lectures”按钮,即可得到课程预览链接“https://class.coursera.org/machlearning-001/lecture/preview”,按照Coursera Downloader上的方法,需要预先在用户主目录下设置一个 ~/.netrc 文件,文件格式如下:

machine coursera-dl login 用户邮箱 password 用户密码

非常重要的是,你需要把设置一下 ~/.netrc 的权限:

chmod og-rw ~/.netrc

否则,会遇到如下的错误,我已经踩过这个坑了:

~/.netrc access too permissive: access permissions must restrict access to only the owner

之后就可以用如下命令下载preview的课程视频文件了:

coursera-dl -n -b --path=../../coursera_backup/ machlearning-001

希望大家用这个工具或其他工具尽快保存Coursera自己心仪的课程,如果方便的话,上传到相关的网盘,做个分享,一方面自己做个备份,另一方便方便大家共享学习资源。这里先附上已经整理的5门Coursera公开课资源,部分课程资源还在下载和上传中,之后将陆续整理发布。

1、机器学习课程 by Andrew Ng

该课程已经在Coursera新的课程平台上发布(https://www.coursera.org/learn/machine-learning),在线的课程资源依然会得到保留,这里分享的百度网盘资源包含两个版本,来自于之前大家的分享:

链接: http://pan.baidu.com/s/1miMZHQo 密码: aeck

2、面向机器学习的神经网络(Neural Networks for Machine Learning)by Geoffrey Hinton

Geoffrey Hinton大神在Coursera上的这门课程只在2012年开过一轮,这次应该不会进行迁移了:

“Deep learning必修课”

“宗派大师+开拓者直接讲课,秒杀一切二流子”

看看上面的点评,对深度学习感兴趣的同学赶紧保存,本次分享包含两个版本,均为之前大家的分享:

链接: http://pan.baidu.com/s/1sk9cgK9 密码: ndm9

3、Daphne Koller教授的“概率图模型公开课(Probabilistic Graphical Models)

这次应该也不会迁移了,想当年多少大神在Coursera上开课。。。本次分享为之前一个朋友的共享:

链接: http://pan.baidu.com/s/1kVpRMKn 密码: 244s

4、Michael Collins大神的“自然语言处理公开课(Natural Language Processing)

NLP大神的课程,必须备份,来自之前一个朋友的分享:

链接: http://pan.baidu.com/s/1kV72IhT 密码: fxjw

5、斯坦福大学Dan Jurafsky和Christopher Manning两位大牛的“自然语言处理公开课(Natural Language Processing)

这门课程的授课老师是斯坦福教授Dan Jurafsky和Christopher Manning,两位都是NLP领域的大大牛,其他不说,仅仅是他们写的书应该是很多NLPer的入门书:前者写了《自然语言处理综论》,后者写了《统计自然语言处理基础》。

我用coursera-dl下载了一份并上传到百度网盘备份,需要的同学尽快保存:

链接: http://pan.baidu.com/s/1hrGMbkg 密码: a2w5

附Coursera邮件内容:

Save course materials for some courses by June 30

Dear XXX,

We wanted to inform you of an update to our technology platform that will affect access to some courses you previously joined.

In 2014, Coursera began developing a new technology platform to improve your learning experience, and to allow courses to run more frequently. The majority of our courses are now offered on the new platform.
This month, we are closing the old platform. One or more courses you joined are on the old platform.
Effective June 30, 2016, courses on the old platform will no longer be available. You should use this opportunity to save any relevant course materials or assignments.

How does this affect my courses?

Any courses and course materials on our old platform will no longer be accessible after June 30. Until that date, we encourage you to save any content you need for personal use and reference.
Any courses on the new platform will not be affected by this change.

Will this affect earned Certificates?
All Statements of Accomplishment (SoA) and Verified Certificates will remain accessible in your Accomplishments page, as long as you do not unenroll from courses you have completed on the old Cplatform. You are also welcome to download a copy for your records at any time. Statements and Certificates that you have shared to LinkedIn will also be maintained on your LinkedIn profile after June 30.

How do I know if a course is on the “old platform”?

If you aren’t sure which platform a course is on currently, navigate to the course and check the URL in the browser bar – courses on the old platform have URLs that begin with class.coursera.org (rather than then new platform, which uses the URL coursera.org/learn.)

How do I save course materials?

To save course materials from the old platform for reference:
• Download any lecture slides or videos that you would like to save for reference
• Save a record of your quizzes and other assignments by taking screenshots

More questions?

If you have a technical issue with your account, please visit our Help Center.
Thank you for being a part of our learning community, and for your patience and understanding through this product transition! We are excited to continue to improve the learning experience on Coursera, and we look forward to bringing you more great courses on the new platform.

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/coursera课程下载和存档计划一

Coursera课程下载和存档计划[转载]的更多相关文章

  1. 百度Apollo无人驾驶入门课程下载

    本文提供 百度Apollo官网的无人驾驶入门课程下载,主要为视频文件. 视频数量:101个:文件格式:MP4:视频总时长:2小时40分钟:文件总大小:约1.13GB: 马上下载 关注公众号罗孚传说(R ...

  2. 【网页开发学习】Coursera课程《面向 Web 开发者的 HTML、CSS 与 Javascript》Week1课堂笔记

    Coursera课程<面向 Web 开发者的 HTML.CSS 与 Javascript> Johns Hopkins University Yaakov Chaikin Week1 In ...

  3. 【Python学习笔记】Coursera课程《Using Databases with Python》 密歇根大学 Charles Severance——Week4 Many-to-Many Relationships in SQL课堂笔记

    Coursera课程<Using Databases with Python> 密歇根大学 Week4 Many-to-Many Relationships in SQL 15.8 Man ...

  4. 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week2 Neural Networks Basics课堂笔记

    Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week2 Neural Networks Basics 2.1 ...

  5. 【Python学习笔记】Coursera课程《Using Python to Access Web Data》 密歇根大学 Charles Severance——Week6 JSON and the REST Architecture课堂笔记

    Coursera课程<Using Python to Access Web Data> 密歇根大学 Week6 JSON and the REST Architecture 13.5 Ja ...

  6. 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week1 Introduction to deep learning课堂笔记

    Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week1 Introduction to deep learn ...

  7. 【DataScience学习笔记】Coursera课程《数据科学家的工具箱》 约翰霍普金斯大学——Week3 Conceptual Issues课堂笔记

    Coursera课程<数据科学家的工具箱> 约翰霍普金斯大学 Week3 Conceptual Issues Types of Questions Types of Data Scienc ...

  8. 【Python学习笔记】Coursera课程《Using Python to Access Web Data 》 密歇根大学 Charles Severance——Week2 Regular Expressions课堂笔记

    Coursera课程<Using Python to Access Web Data > 密歇根大学 Charles Severance Week2 Regular Expressions ...

  9. 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记

    Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...

随机推荐

  1. object实现小老鼠交互

    直接使用 <p style="text-align: center; "> <object type="application/x-shockwave- ...

  2. 创建DLL、Lib以及使用DLL、Lib

    1.要在生成DLL文件的同时生成Lib文件,函数声明时前面要加__declspec(dllexport). 可在头文件中如下定义: #ifndef __MYDLL_H#define __MYDLL_H ...

  3. hdu1071(抛物线弓形面积阿基米德算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1071 题意:给出抛物线的顶点和它与一直线的两交点,求他们围成的面积: 思路: 可以直接求出他们的方程式 ...

  4. Xcode开发中的6个小技巧

    Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE.Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iO ...

  5. 20145206邹京儒《Java程序设计》课程总结

    20145206邹京儒<Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/ZouJR/p/5213572.html http ...

  6. PHP面向对象——类常量,魔术常量与延期绑定

    普通常量  define('常量名',常量值): 以前说过:define定义的常量,全局有效 无论是页面内,函数内,类内,都可以访问. 例: define('ACC','Deny')    class ...

  7. 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

    1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...

  8. Delphi面向对象---接口

    从Delphi3开始支持接口.接口定义了能够与一个对象进行交互操作的一组过程和函数.对一个接口进行定义包含两个方面的内容: 1)一方面是实现这个接口 2)另一方面是定义接口的客户 一个类能够实现多个接 ...

  9. 你可能不知道的java、python、JavaScript以及jquary循环语句的区别

    一.概述 java循环语句分为四种形式,分别是 while, do/while, for, foreach: python中循环语句有两种,while,for: JavaScript中循环语句有四种, ...

  10. [荐]Js apply()和call()方法详解 - http://www.w3cfuns.com/article-5596443-1-1.html

    本帖最后由 默默DE人生 于 2013-3-19 13:22 编辑 Js apply方法详解我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文 ...