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中函数传参详解
Jul 03 Python
利用python求解物理学中的双弹簧质能系统详解
Sep 29 Python
python删除本地夹里重复文件的方法
Nov 19 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
Oct 14 Python
Python装饰器语法糖
Jan 02 Python
python3对拉勾数据进行可视化分析的方法详解
Apr 03 Python
利用PyQt中的QThread类实现多线程
Feb 18 Python
Python实现对adb命令封装
Mar 06 Python
Python虚拟环境venv用法详解
May 25 Python
python 安装移动复制第三方库操作
Jul 13 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 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&java(一)
2006/10/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
js电话号码验证方法
2015/09/28 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
JavaScript 异步调用
2017/10/25 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
python标识符命名规范原理解析
2020/01/10 Python
师范生见习报告
2014/10/31 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
Golang表示枚举类型的详细讲解
2021/09/04 Golang
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript