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 相关文章推荐
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python 私有函数的实例详解
Sep 11 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
Series和DataFrame使用简单入门
Nov 13 Python
利用python实现AR教程
Nov 20 Python
Pycharm小白级简单使用教程
Jan 08 Python
使用python求解二次规划的问题
Feb 29 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 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
Zerg兵种介绍
2020/03/14 星际争霸
虫族 ZERG 概述
2020/03/14 星际争霸
提升PHP执行速度全攻略(下)
2006/10/09 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
初识Laravel
2014/10/30 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
python检查URL是否正常访问的小技巧
2017/02/25 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
Python 面试中 8 个必考问题
2018/11/16 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
python解包概念及实例
2021/02/17 Python
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
PHP面试题附答案
2015/11/28 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
个人承诺书格式
2014/06/03 职场文书
法制宣传口号
2014/06/16 职场文书
教师节班会主持词
2015/07/06 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
css3应用示例:新增的选择器
2022/03/16 HTML / CSS