天问

【开源】学习强国APP上,慕课批量下载

早先开发的小项目,公开在github上,发现有好多小伙伴感兴趣。于是写篇文章介绍下。本项目只需要用户输入“慕课”栏目下课程URL链接,即可批量多线程下载该课程全部视频。

-------------------------------------引

初衷

(1)目前机器学习对我国前途命运很重要,网络上这类课程大都收费,斯坦福机器学习,吴恩达课程等都是英文授课,其实比大学授课差多了.而学习强国上却免费提供清华大学机器学习课程,可以直接学习了.

(2)我个人看教程视频喜欢加速看,一般1.5倍加速看,在网上看着实累人.所以想到直接下载视频

项目原理介绍

作为一个开发者,还是得介绍一下源码,以及爬虫原理。

(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

下载链接

https://github.com/jianboy/crawl_xuexi/releases/download/v1.2.0/crawl_xuexi.v1.2.0.zip



UI以及使用

项目已经封装成一个带命令行的软件,用户输入URL后,即可自动下载视频到当前目录Video目录。

后续

当我完成这个项目后,以为解决了一些同学的问题。于是在百度知道回答这个同学的问题,结果却被秒删!

回答中没有任何广告!也没有任何学习qiang国 等 敏感词,机器学习课程的学习对国人意义深远,做一个这样的小工具下载公开课程,并非破解,本项目合法合规,回答规规矩矩。但是结果就是被删了,百度明目张胆的“ 杀人 ”,这是一个国家的悲哀!

博客地址:http://blog.yoqi.me/?p=16677
扫我捐助哦
喜欢 1

这篇文章还没有评论

发表评论