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字符串连接的N种方式总结
Sep 17 Python
简单介绍Python的轻便web框架Bottle
Apr 08 Python
Python中的with语句与上下文管理器学习总结
Jun 28 Python
Python 正则表达式入门(中级篇)
Dec 07 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
Feb 24 Python
用Python3创建httpServer的简单方法
Jun 04 Python
python 列表降维的实例讲解
Jun 28 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 Python
python简单的三元一次方程求解实例
Apr 02 Python
Python接口开发实现步骤详解
Apr 26 Python
Python 数据的累加与统计的示例代码
Aug 03 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
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
Eclipse + Python 的安装与配置流程
2013/03/05 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
Python玩转Excel的读写改实例
2019/02/22 Python
int在python中的含义以及用法
2019/06/27 Python
python区块及区块链的开发详解
2019/07/03 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
《菜园里》教学反思
2014/04/17 职场文书
讲解员培训方案
2014/05/04 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS