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内置函数dir详解
Apr 14 Python
编写Python小程序来统计测试脚本的关键字
Mar 12 Python
Python字符串拼接的几种方法整理
Aug 02 Python
基于python中pygame模块的Linux下安装过程(详解)
Nov 09 Python
Python元组及文件核心对象类型详解
Feb 11 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
Django-xadmin+rule对象级权限的实现方式
Mar 30 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
python 使用raw socket进行TCP SYN扫描实例
May 05 Python
python:删除离群值操作(每一行为一类数据)
Jun 08 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 Python
python爬虫爬取某网站视频的示例代码
Feb 20 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
德劲1103的维修打理经验
2021/03/02 无线电
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
菜单效果
2006/10/14 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
部队党性分析材料
2014/02/16 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
班主任个人工作反思
2014/04/28 职场文书
交通事故协议书范本
2014/11/18 职场文书
python对文档中元素删除,替换操作
2022/04/02 Python