دانلود ویدیو از یوتیوب با پایتون!!

در این مقاله قصد داریم با زبان برنامه نویسی پایتون و توسط کتابخانه pytube با وبسایت معروف و کاربردی یوتیوب ‘YouTube’ کار کنیم و به یکسری از خواسته هایی که داریم دست پیدا کنیم.

مقدمه

YouTube

یوتیوب بعد از سایت گوگل پربازدید وبسایت جهان به حساب می‌آید که در چند سال اخیر هم در ایران طرفداران بسیاری پیدا کرده است. و همین طور پرطرفدار ترین وبگاه بارگذاری و تماشای ویدیو میباشد که در سال ۲۰۰۵ توسط سه نفر از کارمندان پی پل طراحی شد.

چرا pytube؟!

شاید برای شما هم پیش آمده باشد که ویدیویی را در یوتیوب دیده باشید اما زمانی که میخواهید آن را دانلود کنید یوتیوب این دسترسی را به شما ندهد.

یا به طور مثال شاید بخواهید اطلاعات بیشتری درباره یک یا چند ویدیو را به راحتی به دست بیاورید و آنها را جایی ذخیره کنید.

یا اینکه محتوای ویدیویی یوتیوب را به صورت صوت خروجی بگیرید .

تمام این امکانات و حتی بیشتر را با این کتابخانه می‌توانید داشته باشید.

پس در ادامه مقاله با ما همراه باشید…

نصب pytube

نخستین مرحله برای شروع کار نصب این کتابخانه می‌باشد که بسیار کار ساده و راحتی است.

و به شرح زیر میباشد:

دستور زیر را در محیط cmd وارد کنید .

python -m pip install pytube

سپس در صورت دریافت پاسخ :

Successfully installed pytube-‘version‘

به این معنا میباشد که کتابخانه به درستی نصب شده است.

حال به سراغ کار با این کتابخانه جالب برویم

ساخت یک شیء

در ابتدای کد کلاس Youtube را از pytube صدا میزنیم و در ادامه شیئی میسازیم که قرار است دستورات بر روی آن اعمال شود و آن شیئ شامل لینک ویدیو مورد نظر میباشد.

from pytube import Youtube

youtube = Youtube('Link')

سپس برای اینکه تغییرات مورد نیاز را بر روی ویدیو مورد نظر اعمال کنیم از streams و وابسته های آن استفاده می‌کنیم .

اگر به تنهایی از streams استفاده کنید داده هایی از ویدیو به شما میدهد که شما با وابسته های آن میتوانید این ویژگی ها مانند فرمت ، کیفیت و … را تغییر دهید به مثال زیر توجه کنید :

yt.streams.filter(progressive=True)

که خروجی به صورت ویدیو و بالعکس در مثال زیر خروجی هم به صورت صوتی و هم تصویری میباشد.

yt.streams.filter(adaptive=True)

و در فیلتر زیر هم ویدیو را به حالت فقط صدا تبدیل میکنیم:

yt.streams.filter(only_audio=True)

 

در فیلتر زیر نیز فورمت دانلود ویدیو را مشخص میکنیم که MP4

yt.streams.filter(extension='MP4')

و در آخر هم بعد از اضافه و اعمال کردن فیلتر ها با دستور زیر ویدیو را دانلود میکنیم:

yt.streams.first().download()

استفاده از لیست های پخش ( playlists )

نخست شیئی را هم برای playlists موزد نظر میسازیم تا در هر جا خواستیم به راحتی تنظیمات را بر رویش اعمال کنیم:

from pytube import Playlist
play = Playlist('لینک لیست پخش مورد نظر')

حال به راحتی با استفاده از شیءی که برای ویدیو و لیست پخش ساختیم و قواعدی که از زبان برنامه نویسی پایتون بلد هستیم به راحتی میتوانیم خیلی از کار هایی که میتوان با این کتابخانه انجام داد را انجام دهیم:

print(play.title)

در کد بالا خروجی که مشاهده خواهید کرد عنوان پلی لیست میباشد.

for url in play.video_urls[:3]:
    print(url)

در خروجی کد بالا لینک سه تا از ویدیو های اول پلی لیست نمایش داده میشود.

در ادامه چندین متود کاربردی از این کتابخانه را لیست کرده ام که شما میتوانید به راحتی از اینها استفاده کنید.

 #عنوان ویدیو را به شما نمایش میدهد
yt.title
#لینک تصویر تامبنیل ویدیو را نمایش میدهد
yt.thumbnail_url
#تعداد بازدید های ویدیو
yt.viws
#متن دیسکریپشن 
yt.describtion
#نام های تگ شده و کلیدواژه ها را نمایش میدهد
yt.keywords