Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

YouTube 동영상을 다운로드하는 Python 라이브러리 PyTube

<시간/>

'유튜브' 아시죠? 예, 특히 인도에서 가장 유명한 비디오 공유 웹사이트 YouTube 동영상을 다운로드하는 Python 라이브러리 PyTube . 대부분의 경우 동영상이 마음에 들어서 나중에/오프라인에서 확인하기 위해 해당 동영상을 다운로드하려고 합니다. 그런 다음 YouTube 웹 사이트에서 YouTube 동영상을 다운로드하는 "youtube-downloader" 앱을 보게 됩니다. 그러나 대부분의 앱에는 약간의 제한이 있거나(무료로 사용하는 경우) 비용이 듭니다. 그러나 YouTube 비디오를 다운로드하는 자체 프로그램을 만드는 것에 대해 생각해 본 적이 있습니까? 당신이 아니라면 파이썬 라이브러리를 사용하여 매우 간단하게 시도해야 합니다. Python은 YouTube에서 비디오를 다운로드할 수 있는 "pytube" 라이브러리를 제공합니다. 이 라이브러리를 사용하면 웹에서 비디오를 다운로드할 수 있습니다.

Pytube는 표준 라이브러리가 아니므로 설치해야 합니다. pip를 사용하면 쉽게 설치할 수 있습니다. −

pip install pytubeCollecting pytubeDownloading https://files.pythonhosted.org/packages/af/56/c9b484e93e1f3a4ef6aefbc1e68258121831007938556daf968ab4519c9c/py 설치 사전> 

동영상 다운로드

아래 기사에서 볼 수 있듯이 pytube를 사용하여 YouTube 동영상을 다운로드하는 것은 매우 쉽습니다.

이제 YouTube 클래스를 가져와서 시작하겠습니다.

pytube에서 YouTube 가져오기

이제 동영상의 링크를 가져오도록 합시다. 예를 들어, 원하는 비디오를 선택하겠습니다 -

yt =YouTube('https://www.youtube.com/watch?v=-KnAZcXzxRA')

pytube API를 사용하면 모든 정보에 직관적으로 액세스할 수 있습니다. 예를 들어 다음과 같이 동영상 제목을 얻을 수 있습니다.

>>> yt.title'Redmi Note 7 가짜 48MP 카메라? 설명 \U0001f525\U0001f525\U0001f525'

그리고 썸네일 URL을 얻으려면 -

>>> yt.thumbnail_url'https://i.ytimg.com/vi/-KnAZcXzxRA/default.jpg'

이제 미디어 형식을 선택해야 합니다. Pytube 모듈은 비디오를 다운로드하기 위해 다음과 같은 미디어 형식을 제공합니다 -

>>> yt.streams.all()[<스트림:itag="22" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.64001F" acodec="mp4a .40.2">, <스트림:itag="43" mime_type="video/webm" res="360p" fps="30fps" vcodec="vp8.0" acodec="vorbis">, <스트림:itag=" 18" mime_type="비디오/mp4" res="360p" fps="30fps" vcodec="avc1.42001E" acodec="mp4a.40.2">, <스트림:itag="36" mime_type="비디오/3gpp" res="240p" fps="30fps" vcodec="mp4v.20.3" acodec="mp4a.40.2">, <스트림:itag="17" mime_type="video/3gpp" res="144p" fps="30fps " vcodec="mp4v.20.3" acodec="mp4a.40.2">, <스트림:itag="137" mime_type="video/mp4" res="1080p" fps="30fps" vcodec="avc1.640028"> , <스트림:itag="248" mime_type="video/webm" res="1080p" fps="30fps" vcodec="vp9">, <스트림:itag="136" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.4d401f">, <스트림:itag="247" mime_type="video/webm" res="720p" fps="30fps" vcodec="vp9">, <스트림:itag="135" mime_type="video/mp4" res="480p" fps="30fps" vcodec="avc1.4d401f">, <스트림:itag="244" mime_t ype="video/webm" res="480p" fps="30fps" vcodec="vp9">, <스트림:itag="397" mime_type="video/mp4" res="없음" fps="30fps" vcodec ="av01.0.05M.08">, <스트림:itag="134" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.4d401e">, <스트림:itag="243" mime_type="video/webm" res="360p" fps="30fps" vcodec="vp9">, <스트림:itag="396" mime_type="video/mp4" res="없음" fps=" 30fps" vcodec="av01.0.05M.08">, <스트림:itag="133" mime_type="video/mp4" res="240p" fps="30fps" vcodec="avc1.4d400d">, <스트림 :itag="242" mime_type="video/webm" res="240p" fps="30fps" vcodec="vp9">, <스트림:itag="395" mime_type="video/mp4" res="없음" fps="30fps" vcodec="av01.0.05M.08">, <스트림:itag="160" mime_type="video/mp4" res="144p" fps="30fps" vcodec="avc1.4d400c"> , <스트림:itag="278" mime_type="video/webm" res="144p" fps="30fps" vcodec="vp9">, <스트림:itag="394" mime_type="video/mp4" res="없음" fps="30fps" vcodec="av01.0.05M.08">, <스트림:itag="140" mime_type="audio/mp4" abr="128kbps" acodec="mp4a.40.2">, <스트림:itag="171" mime_type="audio/webm" abr="128kbps" acodec="vorbis">, <스트림:itag="249" mime_type="audio/webm" abr="50kbps" acodec="opus ">, <스트림:itag="250" mime_type="audio/webm" abr="70kbps" acodec="opus">, <스트림:itag="251" mime_type="audio/webm" abr="160kbps" acodec="opus">]>>>

첫 번째 스트림을 가져오고 싶다고 가정해 보겠습니다.

>>> 스트림 =yt.streams.first()>>> 스트림<스트림:itag="22" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.64001F " acodec="mp4a.40.2">

비디오가 대상 경로로 다운로드됩니다 -

>>> stream.download('f:/')'f:/Redmi 참고 7 가짜 48MP 카메라 설명 \U0001f525\U0001f525\U0001f525.mp4'

또는 현재 작업 디렉토리에 비디오를 다운로드할 수 있습니다. -

>>> stream.download()'C:\\Python\\Python361\\Redmi Note 7 가짜 48MP 카메라 설명 \U0001f525\U0001f525\U0001f525.mp4'

이제 대상 경로에 비디오가 다운로드된 것을 볼 수 있습니다.

YouTube 동영상을 다운로드하는 Python 라이브러리 PyTube