MyUniUni 第六期《YouTube视频下载》

26. September 2019 技术交流会 0

首先来讨论一个哲学问题:

你若想得到一个东西,就必须先失去一个东西。

什么都会就等于什么都不会,什么都懂就等于什么都不懂。

老子学说精髓在于,物极必反,道法自然;千年文化传承盛极必衰,否极泰来。万物法则在于循环,开始的开始就是结束。决策树请了解下!!!

纳尼,这和编程有什么关系?

万物互联,编程亦有编程之道,编程之禅。

python,php,java,C#,C++,C,Go,JS等等都是工具,软件和编程语言其实没多大关系,条条大路通罗马,每门语言都有其优势,取之长补之短的微架构才是王道。

目前已知最好用的YouTube视频下载库有两个

第一个:https://github.com/soimort/you-get

第二个:https://github.com/nficano/pytube

you-get目前一直在更新,支持的网站多,功能强大,是一种终端下载软件,功能粒度较大。

pytube是专门下载YouTube视频的python库,功能粒度小,可下载播放列表,视频,字幕,缩略图等。但目前已停止更新,接下来主角登场,我在其基础上进行修复和扩展了部分功能,目前已知最简单,最好用的库。

start coding:

第一步:

git clone https://github.com/wizardcode/pytube.git

第二步:

使用IDE打开下载好的库,创建test.py

第三步:开始下载,见源码

from pytube import YouTube

# 视频请求

yt = YouTube(url=“https://www.youtube.com/watch?v=0TP9n8H29Hs&list=PLhN7ssqfKxgqKGGIrscA7VL1giumwDyeg&index=31”,

            proxies={“https”: “http://192.168.0.117:1080”})

# 下载mp4格式视频

yt.streams.filter(progressive=True, file_extension=‘mp4’).first().download(output_path=“./video”)

# 下载视频封面

yt.down_thumbnail_url(output_path=“./video”)

# 下载两种字幕文件

subtitle = yt.captions.get_by_language_code(“en”)

title = yt.title

if subtitle is not None:

   subtitle.download_subtitle(output_path=“./video”, filename=title, srt_subtitle=True, vtt_subtitle=True)


Leave a Reply

Your email address will not be published. Required fields are marked *