怎么使用Python下载YouTube视频,pytube怎么用?

Youtube Friends
Youtube Friends

什么是pytube?

Pytube是一个轻量级的,无依赖项的Python库,用于从Web下载视频。
Pytube不是本机库。您需要先安装它,然后才能使用它。

注意:在安装Pytube之前,您需要在PC上安装Python安装Python教程

打开CMD并输入

pip install pytube

完成安装后,您可以使用Pytube。

首先使用以下命令打开Python shell。

python

然后,使用Python Shell,您可以使用Pytube下载youtube视频。

以下是用于下载youtube视频的简单Python脚本。

>>> from pytube import YouTube
>>> yt = YouTube('https://www.youtube.com/watch?v=kJQP7kiw5Fk')
>>> yt.streams.get_highest_resolution().download()

上面的命令只会将属于URL “ https://www.youtube.com/watch?v=kJQP7kiw5Fk”的视频下载到您的当前目录中。


下面的脚本将显示视频的所有可用流。与流进步=真是在同一视频流中同时包含音频和视频的视频。其他人在同一流中没有音频和视频。

>>> from pytube import YouTube
>>> yt = YouTube('https://www.youtube.com/watch?v=kJQP7kiw5Fk')
>>> yt.streams

结果,您将得到这个。

 [<Stream: itag="18" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.42001E" acodec="mp4a.40.2" progressive="True" type="video">,
 <Stream: itag="22" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.64001F" acodec="mp4a.40.2" progressive="True" type="video">,
 <Stream: itag="137" mime_type="video/mp4" res="1080p" fps="30fps" vcodec="avc1.640028" progressive="False" type="video">,
 <Stream: itag="248" mime_type="video/webm" res="1080p" fps="30fps" vcodec="vp9" progressive="False" type="video">,
 <Stream: itag="399" mime_type="video/mp4" res="None" fps="30fps" vcodec="av01.0.08M.08" progressive="False" type="video">,
 <Stream: itag="136" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.4d401f" progressive="False" type="video">,
 <Stream: itag="247" mime_type="video/webm" res="720p" fps="30fps" vcodec="vp9" progressive="False" type="video">,
 <Stream: itag="398" mime_type="video/mp4" res="None" fps="30fps" vcodec="av01.0.05M.08" progressive="False" type="video">,
 <Stream: itag="135" mime_type="video/mp4" res="480p" fps="30fps" vcodec="avc1.4d401e" progressive="False" type="video">,
 <Stream: itag="244" mime_type="video/webm" res="480p" fps="30fps" vcodec="vp9" progressive="False" type="video">,
 <Stream: itag="397" mime_type="video/mp4" res="None" fps="30fps" vcodec="av01.0.04M.08" progressive="False" type="video">,
 <Stream: itag="134" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.4d401e" progressive="False" type="video">,
 <Stream: itag="243" mime_type="video/webm" res="360p" fps="30fps" vcodec="vp9" progressive="False" type="video">,
 <Stream: itag="396" mime_type="video/mp4" res="None" fps="30fps" vcodec="av01.0.01M.08" progressive="False" type="video">,
 <Stream: itag="133" mime_type="video/mp4" res="240p" fps="30fps" vcodec="avc1.4d4015" progressive="False" type="video">,
 <Stream: itag="242" mime_type="video/webm" res="240p" fps="30fps" vcodec="vp9" progressive="False" type="video">,
 <Stream: itag="395" mime_type="video/mp4" res="None" fps="30fps" vcodec="av01.0.00M.08" progressive="False" type="video">,
 <Stream: itag="160" mime_type="video/mp4" res="144p" fps="30fps" vcodec="avc1.4d400c" progressive="False" type="video">,
 <Stream: itag="278" mime_type="video/webm" res="144p" fps="30fps" vcodec="vp9" progressive="False" type="video">,
 <Stream: itag="394" mime_type="video/mp4" res="None" fps="30fps" vcodec="av01.0.00M.08" progressive="False" type="video">,
 <Stream: itag="140" mime_type="audio/mp4" abr="128kbps" acodec="mp4a.40.2" progressive="False" type="audio">,
 <Stream: itag="249" mime_type="audio/webm" abr="50kbps" acodec="opus" progressive="False" type="audio">,
 <Stream: itag="250" mime_type="audio/webm" abr="70kbps" acodec="opus" progressive="False" type="audio">,
 <Stream: itag="251" mime_type="audio/webm" abr="160kbps" acodec="opus" progressive="False" type="audio">]

然后,您可以选择要下载的流并获取它的itag请注意,您应该选择Progressive =“ True” 具有所需的分辨率。

接下来,通过使用下面的命令,您可以下载属于您所选的itag的相应流。

>>> yt.get_by_itag(22).download()

完成该过程后,您可以在目录中看到下载的视频。


从Youtube下载播放列表

假设我们要在youtube中下载整个播放列表。Pytube太简单了。

首先,您需要获取播放列表的URL。
然后使用以下命令下载整个播放列表。

>>> from pytube import Playlist
>>> pl = Playlist("https://www.youtube.com/watch?v=Edpy1szoG80&list=PL153hDY-y1E00uQtCVCVC8xJ25TYX8yPU")
>>> for video in pl.videos:
>>>     video.streams.get_highest_resolution().download()

上面的命令将以最佳分辨率下载播放列表中的所有视频。
请注意,缩进在使用Python时至关重要。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun30558.html

(1)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年1月13日
下一篇 2021年1月13日

相关推荐