python爬取youtube视频的示例代码


Posted in Python onMarch 03, 2021

  这几天正在追剧,原名《大秦帝国之天下》的《大秦赋》,看着看着又想把前几部刷一遍了,但第一部《裂变》自己没有高清资源,搜了一波发现youtube上有个48集版的高清资源,有删减就有删减吧,就想着写个脚本批量下载一下,记录一下过程,主要是youtube1080p及以上的分辨率做了音视频分离,下载后需要用ffmpeg做一次音视频融合。参考了pytube模块。

1.下载音视频数据

pytube可以通过pip安装

$pip install pytube
from pytube import YouTube
url = 'https://www.youtube.com/watch?v=K5KG4FVaD5M&list=PLtt_YYUGi1gVlXrNAOQX5BsIXAeTdTrwj&index={}'.format(i)
result = YouTube(url)
print(url + ' ' + result.title)
result.streams.get_by_itag(137).download('D:/xdedzl/movie/video')
print('done {} video'.format(i))
result.streams.get_by_itag(251).download('D:/xdedzl/movie/audio')
print('done {} audio'.format(i))

  result.steams是一系列不同质量的音视频数据,打印出来如下图,可以根据get_by_itag来拿到对应的音视频,137对应1080p的视频,251对应160k的音频

python爬取youtube视频的示例代码

2.融合音视频数据

  使用ffmpeg融合音视频,命令如下,具体使用方式可自行查阅

ffmpeg -i video_path -i audio_path -c:v copy -c:a aac -strict -2 output_path

  写了个批处理融合了48集的音视频

echo off

set v=D:\xdedzl\movie\video\
set a=D:\xdedzl\movie\audio\
set o=D:\xdedzl\movie\
set /a i=1, b=49
:SymLoop

if %i% LSS %b% (
  echo %v%%i%.mp4
  echo %a%%i%.webm
  echo %o%%i%.mp4
  ffmpeg -i %v%%i%.mp4 -i %a%%i%.webm -c:v copy -c:a aac -strict -2 %o%%i%.mp4
  set /a "i+=1"
  GOTO :SymLoop 
)
pause

到此这篇关于python爬取youtube视频的文章就介绍到这了,更多相关python爬取youtube视频内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Python解析JSON数据的基本方法
Oct 15 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
May 04 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
pytorch 加载(.pth)格式的模型实例
Aug 20 Python
Python 实现opencv所使用的图片格式与 base64 转换
Jan 09 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
Feb 22 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 #Python
解决pytorch 数据类型报错的问题
Mar 03 #Python
python反编译教程之2048小游戏实例
Mar 03 #Python
python 如何读、写、解析CSV文件
Mar 03 #Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 #Python
python 递归相关知识总结
Mar 03 #Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 #Python
You might like
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
js实现鼠标拖曳效果
2020/12/30 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
python生成excel的实例代码
2017/11/08 Python
python matplotlib画图实例代码分享
2017/12/27 Python
如何解决python多种版本冲突问题
2020/10/13 Python
2019年Java面试必问之经典试题
2012/09/12 面试题
remote接口和home接口主要作用
2013/05/15 面试题
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
如何清空Session
2015/02/23 面试题
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
房产委托公证书
2014/04/08 职场文书
社保委托书怎么写
2014/08/02 职场文书
无犯罪记录证明
2014/09/19 职场文书
个人贷款收入证明
2014/10/26 职场文书
大学生读书笔记大全
2015/07/01 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
Nginx快速入门教程
2021/03/31 Servers