coursera.org上注册了好些公开课, 有几个没时间上了, 今天看看好多资料包括课件和视频, 一个一个点实在是太麻烦了, 就写了个脚本把他全下来
1. 先下载网页源码
wget https://class.coursera.org/compilers-003/lecture -O tmp
或者
curl https://class.coursera.org/compilers-003/lecture -o tmp
2. 提取要下载的url
这个稍微观察下网页源码就知道了,无非是一个正则表达式,把目标内容下来
脚本如下:
for url in `grep -o -E "http.*pdf" $doc`
do
echo $url
wget $url
done
IFS="
"#文件分割符定义为换行, 默认空格, 取名字title的时候麻烦
videos=( $(grep -o -E 'Video\ \(MP4\).*\([0-9]+m[0-9]+s\)' $doc) )#grep的结果输出到数组, 一行一个, 取得是文件的名字
i=0
#echo ${videos[@]}
for url in `grep -o -E "http.*mp4.*[0-9]+" $doc`//取文件下载路径
do
name=${videos[$i]}
echo $name
wget -O $name $url//下载
i=$(($i+1))
done
通过上面的脚本就可以下载 pdf和 mp4,脚本很粗,仅供参考,下面一段比较啰嗦, 因为要取视频的名字, 没想好怎么搞, 总的来说就是写几个脚本, 当然了你可以搞的更完善。