麦子课程下载器
已经被麦子学院发现漏洞,现在加入权限限制,看了一下,已经要求登陆,还要通过点击才能显示视频的地址,也不是不能搞,不过最近要开始忙了,要下载的课程我也基本下载到了,暂时就这样子吧,这个项目的生命周期真短...默哀一分钟,也算曾经也闪耀过。
最近由朋友介绍一个不错的学习网站 - 麦子学院,我一看觉得视频质量挺高的,老师都是工作多年的老司机,应该经历过很多大型的项目,在某些点上(比如说怎么处理需求,大型网站的优化),他们思维方法和处理手法都能给我带来不少启发,唯一一个不足就是他们的语速都是比较慢,我一般都要开2倍速来听课,有的老师的语法快一点的就开1.5倍速,但每个人语速都是有差异的,有的老师开2倍速就太快,开1.5倍就觉得慢了,而且麦子学院的播放器偏偏是没有1.75倍的,只有1.5倍和2倍,那我就寻思能不能把视频下载到本地电脑上看,自己电脑上的播放器是任意调速度,那我就可以以自己喜欢的节奏听课了。
本项目核心需求无非以下几种:
- 爬取课程主页的html的内容
- 解析html获取相关的信息
- 每节课的url
- 每节课的名称
- 下载课程的视频
- 新建一个文件夹来保存一个课程的所有视频
- 下载视频
- 重命名(视频的文件名是不规则的)
4.自动化处理
- 爬取html虽然可以用
urllib
标准库,但是我选择Requests
! - 解析DOM虽然可以用
re
正则表达式,但是我选择BeautifulSoup
! - 其实拿到每节课的url还是要爬取解析的,但是我选择
you-get
!
版本混用的门槛太高了,写了一个纯python3的版本,不推荐用fabfile的方法下载,我也就不删除了,留着纪念。
### 使用方法
先确认你安装好
python3.5
和以下第三方库:
- beautifulsoup4==4.5.1
- bs4==0.0.1
- requests==2.11.1
- you-get==0.4.555
你也可以把这个requirements.txt下载了,然后cmd执行pip install -r \path\to\requirements.txt
,最后下载好maizi_downloader_v3.py,就在cmd执行 python maizi_downloader_v3.py [课程的序号]
,课程的序号
可以接收一个参数,也可以是多个参数,也可以是间接参数,也可以是混合参数,用空格分隔。