早先开发的小项目,公开在github上,发现有好多小伙伴感兴趣。于是写篇文章介绍下。本项目只需要用户输入“慕课”栏目下课程URL链接,即可批量多线程下载该课程全部视频。
-------------------------------------引
(1)目前机器学习对我国前途命运很重要,网络上这类课程大都收费,斯坦福机器学习,吴恩达课程等都是英文授课,其实比大学授课差多了.而学习强国上却免费提供清华大学机器学习课程,可以直接学习了.
(2)我个人看教程视频喜欢加速看,一般1.5倍加速看,在网上看着实累人.所以想到直接下载视频。
你只需要点击下面连接 学习强国慕课视频批量下载工具.zip ,下载完工具。项目已经封装成一个带命令行的软件,用户输入URL后,即可自动下载视频到当前目录Video目录:
作为一个开发者,还是得介绍一下源码,以及爬虫原理。
(1)用户输入“慕课”课程列表的URL1
(2)爬取课程列表里面的所有课程URL2
(3)循环所有课程列表URL2,获取其中的视频链接URL3(xxx.mp4格式)
(4)多线程,批量下载这些视频
def downloadVideo(url, file_name):
'''
下载视频
:param url: 下载url路径
:return: 文件
'''
with closing(requests.get(url=url, stream=True)) as response:
chunk_size = 1024
content_size = int(response.headers['content-length'])
file_D = './Video/' + file_name + '.mp4'
if (os.path.exists(file_D) and os.path.getsize(file_D) == content_size):
print('跳过' + file_name)
else:
progress = DownloadProgress.DownloadProgress(file_name, total=content_size, unit="KB",
chunk_size=chunk_size,
run_status="正在下载", fin_status="下载完成")
with open(file_D, "wb") as file:
for data in response.iter_content(chunk_size=chunk_size):
file.write(data)
progress.refresh(count=len(data))
项目开源:https://github.com/jianboy/crawl_xuexi
当我完成这个项目后,以为解决了一些同学的问题。于是在百度知道回答这个同学的问题,结果却被秒删!
回答中没有任何广告!也没有任何学习qiang国 等 敏感词,机器学习课程的学习对国人意义深远,做一个这样的小工具下载公开课程,并非破解,本项目合法合规,回答规规矩矩。但是结果就是被删了,百度明目张胆的“ 杀人 ”,这是一个国家的悲哀!
博客地址:http://blog.yoqi.me/?p=16677
这篇文章还没有评论