國內觀看Coursera非常卡頓,經常播放到一半就卡死了,不知道什么原因。因此只能想辦法下載下來之后再看。
Github上有一個腳本點擊打開鏈接,提供整門課程的下載服務。用着還是非常方便的,使用方法如下。
因為這個腳本用到多個python庫,最好使用linux系統,我用的是debian wheezy,python2.7.3。當然你需要一個coursera賬號。
將鏈接里面的工程打包下載,進入及一層目錄,有個requirements.txt,里面含有需要的各種庫和版本號,如果庫的版本不對很大幾率是無法運行的。
進入root命令行后,第一步安裝pip組件:
apt-get install python-pip
使用pip安裝需要的庫:
pip install -r requirements.txt
這個過程比較慢,不過之后就可以使用腳本下載了。
打開要下載的課程的鏈接,如:https://class.coursera.org/scicomp-001/class/index 其中網址和class之間的字段是需要用到的.
下載這門課程需要運行的命令是:
python coursera_dl.py -u 用戶名 -p 密碼 scicomp-001
如果只要下載其中一部分,可以參照作者給出的說明對命令進行相應的修改:
General: coursera-dl -u <user> -p <pass> saas Multiple classes: coursera-dl -u <user> -p <pass> saas nlp proglang-2012-001 Filter by section name: coursera-dl -u <user> -p <pass> -sf "Chapter_Four" saas Filter by lecture name: coursera-dl -u <user> -p <pass> -lf "3.1_" saas Download only ppt files: coursera-dl -u <user> -p <pass> -f "ppt" saas Use a ~/.netrc file: coursera-dl -n saas Get the preview classes: coursera-dl -n -b saas Specify download path: coursera-dl -n --path=C:\Coursera\Classes\ saas Maintain a list of classes in a dir: Initialize: mkdir -p CURRENT/{class1,class2,..classN} Update: coursera-dl -n --path CURRENT `ls CURRENT`
實驗室百兆帶寬下載速度只有15kBps,可以想象在線看時會多么的慢了。
如果下載過程中出錯停止(多半是由於網絡無法連接引起),可以使用bash中的for循環下載剩余部分:
for ((i=5; i<10; ++i)) do python coursera_dl.py -u 用戶名 -p 密碼 $i scicomp-001 done
其中,i的范圍為待下載的lecture數字。