基于you-get的视频批量下载

基于you-get的视频批量下载
本文介绍一种基于you-get的视频批量下载,即同时开启多个DOS执行bat脚本,也就是多个进程,you-get是github上的一个开源项目,可以下载多个网站的视频,如B站,优酷、腾讯,B站上各种学习视频非常多,关键还免费。关于you-get的使用请自行在CSDN上搜索,相关文章非常多,现在直奔主题。本文思路:
1. 分析视频网址的规律
2. 编写Python脚本批量生成Bat批处理文件(每个视频编写一个Bat文件)
3. 运行Bat批处理文件

一、分析视频网址的规律
现在我要到B站下载 “最新版数据结构与算法–Java版(含全套资料)"
网址如下尚硅谷Java数据结构与算法-韩顺平
基于you-get的视频批量下载_第1张图片

请注意图片中的网址格式,默认是第一集,但是当我们点击图片右侧中第一集是网址变为
在这里插入图片描述

此时网址为 https://www.bilibili.com/video/BV1FK411s7eN?p=1
第二集 https://www.bilibili.com/video/BV1FK411s7eN?p=2
第三集 https://www.bilibili.com/video/BV1FK411s7eN?p=3
当视频分多集时,点击播放列表的连接刚能看到网址最后的编号
视频一共195集,编号从1到195变化网址的规律性变化为Python脚本批量处理提供条件

二、 编写Python脚本批量生成Bat批处理文件

fromValue = 1    #视频起始编号
toValue = 33     #视频结束编号
urlValue = "https://www.bilibili.com/video/BV1FK411s7eN?p="    #网址(不含视频编号)
#下载文件保存路径
filedir = "D:\\Program Files\\JiJiDown\\Download\\demo\\"    #自行设置保存路径

for i in range(fromValue,toValue+1,1):
    #创建单个Bat文件
    filename = filedir + "demo" + str(i) + ".bat"
    f = open(filename, mode="w", encoding="utf-8")
    f.write("you-get" + " "  + urlValue + str(i))
    f.write("\nexit")
    f.close()

三、 运行Bat批处理文件
打开cmd,运行Python脚本
基于you-get的视频批量下载_第2张图片

最终在目录:D:\Program Files\JiJiDown\Download\demo\下生成多个bat文件
基于you-get的视频批量下载_第3张图片
依次点击bat文件,就可以开始下载视频文件,如果bat文件太多,可以一次选中15个(太多了不运行),然后回车,就可打开多个DOS窗口下载视频,you-get默认是下载高清视频。
相比于B站 提供的下载工具–“唧唧Down”,在同一网络下单个视频下载速度只有120多kb/s,可以看到单个DOS下载速度只有100kb不到,但是同时运行多个bat,每个bat的速度虽然很小,但是总量却很大。我的下载网速达到30多M/s,半个小时就可以下载3-4个G的视频。
基于you-get的视频批量下载_第4张图片

你可能感兴趣的:(笔记,python)