Python Kullanarak YouTube Üzerinden Video İndirme ∞

Python Kullanarak YouTube Üzerinden Video İndirme

Python Kullanarak YouTube Üzerinden Video İndirme

Günümüzün en ünlü ve en çok kullanılan video yayınlama platformu olan YouTube, her türlü kullanıcıya ve kitleye hitap edecek kadar çok sayıda farklı türden videolara ev sahipliği yapmaktadır. Bunlardan bazıları vloglar, podcastler, müzik videoları, komik videolar, tepki (reaction) videoları diye gider. Kullanıcılar normalde oynatma listeleri aracılığıyla istedikleri zaman izlemek üzere videoları kaydedebilir ve YouTube üzerinden izlemek istedikleri videoya ulaşabilirler.

Ancak bazı durumlarda kullanıcılar videolarını yerel depolama alanlarında (örn kendi bilgisayarları veya telefonları) tutmak isterler. Bunun için Youtube video indirme sitelerine başvurabilirler. Ancak bazı kullanıcılar bir adım ileri giderek kendi video indirici programını yazmak ister. Bu alanda akla ilk gelen programlama dili de doğal olarak Python olmaktadır. Python aracılığıyla kullanıcılar, kendi YouTube video indirme programlarını yazarak sorunsuz bir şekilde video indirme deneyimi yaşayabilirler.

Python Nedir?

 Yazılım ile uğraşanların oldukça aşina olduğu bir programlama dili olan Python, 1989 yılında ortaya çıkmış olan, yazımı son derece kolay ve her türlü işletim sisteminde çalışabilen bir programlama dilidir. Python aracılığıyla günlük işlerde yardımcı olacak programlar, web/e-mail scraping, yapay zeka gibi farklı yazılımlar yapılabilmektedir, dolayısı ile Python hakkında son derece zengin bir kullanım alanına sahip olduğunu söylemek mümkündür. Python programlama dili ve bu dille program yazmakta kullanılan kütüphanelerin çok büyük bir bölümü ücretsiz olarak edinilebilmektedir. Bu yazıda da bu kütüphanelerden birisi olan pytube kütüphanesinden yararlanılacaktır.

PyTube Kütüphanesinin Yüklenmesi

 Bilgisayarınızda Python var ise yükleme yapabilmek için pip modülüne ihtiyacınız olacaktır. Pip modülü AppData’da Python’un bulunduğu dizinde ve o dizinin “Scripts” alt dizininde standart olarak gelmektedir ve bu dizinler kurulumda otomatik olarak PATH sistem değişkenine eklenebilmektedir. Aksi bir durumda “Sistem Ortam Değişkenlerini Düzenleyin” üzerinden pip’in olması gereken dizinleri bulup PATH’e eklemeniz gerekir.

Pip’in mevcut ve sağlam olduğunu teyit ettikten sonra yapmanız gereken şey aşağıdaki komutu kullanarak pytube kütüphanesini bilgisayarınıza kurmaktır:

pip install pytube

Bu kod ile Python, pytube kütüphanesinin kurulumunu otomatik olarak gerçekleştirecektir. Başka bir kütüphane indirmenize gerek yoktur.

YouTube Video İndirme Uygulamasının Geliştirilmesi

Python için kullandığınız bir geliştirme ortamı yoksa VS Code veya Spyder gibi Python kapasiteli bir geliştirme ortamı indirmeniz gerekecektir. Geliştirme ortamımıza girdiğimizde programımıza yazacağımız ilk kod satırı aşağıdaki şekildedir:

from pytube import YouTube as YT

Bu kod satırı, pytube kütüphanesinin YouTube adlı metodunu uygulamaya tanıtır ve programın yazımını kolaylaştırmak amacıyla “YT” rumuzunu atar, böylece kodda “YT” yazdığınız yerde bu metod bahsediliyor olacaktır. Bu kütüphaneyi kullanabilmek için şu tarz bir kodu programımıza eklememiz gerekecektir:

video_url = “”

while “https://www.youtube.com/watch?v=” not in video_url:

            video_url = input(“YouTube linkini girin: ”)

video = YT(video_url)

Bu satırlarla öncelikle videonun YouTube adresini tutacak bir değişken tanımlanır ve “while” döngüsüyle adresin baş kısmı (videoya ait olan rastgele ID’nin öncesi) adreste olmadığı sürece kullanıcıdan sürekli olarak bir Youtube adresi ister. Doğru türde adres alındığında program döngüden çıkarak YouTube kütüphanesine girilen adresteki videoyu döndürür.

Videoyu programa başarıyla getirdikten sonra bu video hakkında bilgi alabiliriz:

 print(f’{video.title} adlı videoyu indiriyorsunuz’)

Bu satırla videonun başlığını alabiliriz. Bunun dışında video hakkında işe yarayacak olan başka bilgiler de aşağıdaki gibi mevcuttur:

  • video.length = Videonun saniye cinsinden uzunluğunu verir
  • video.author = Videoyu yayınlayan kanalın adını döndürür
  • video.keywords = Videonun anahtar kelimelerini döndürür
  • video.description = Videonun açıklamasını döndürür
  • video.rating = 1-5 aralığında normalleştirilmiş olarak videonun beğeni yüzdesini döndürür
  • video.views = Videonun aldığı izlenme sayısını döndürür

 Bu yazıdan sonra yaptığınız programı geliştirmek için bu bilgileri ekrana yazdırabilirsiniz.

 video_type = input(“MP4 olarak indirmek için 1’e, MP3 olarak indirmek için 2’ye basın: “)

if int(video_type) == 2:

            stream = video.streams.get_audio_only()

else:

            stream = video.streams.get_highest_resolution()

stream.download()

 Bu satırlarla kullanıcıdan ses (MP3) veya video (MP4) olarak getirilen videoyu indirmesi için girdi alarak, videoyu istenen formata dönüştürdükten sonra indirme işlemimizi gerçekleştirebiliriz. “get_audio_only()” fonksiyonu videoyu MP3 formatına, “get_highest_resolution()” fonksiyonu ise videoyu en yüksek çözünürlükteki haline dönüştürür ve “stream.download()” fonksiyonu size videoyu o halde indirmenize olanak tanır.  İsterseniz farklı streams alternatiflerini de öğrenip ileri bir aşamada uygulamanıza ekleyerek programınızı zenginleştirebilirsiniz (her bir stream’ın kendine ait kodu mevcuttur).

İlgili: En İyi Programlama Dilleri Hangileri?

Bu kodlar sayesinde 10-15 satırda kendi YouTube video indirme programınızı yazabilirsiniz. Üstelik herhangi bir internet sitesine girip reklam izlemenize gerek kalmadan istediğiniz videoyu (programınıza eklediğiniz özelliklere göre) istediğiniz formatta indirebilirsiniz. 

Programın Kullanımı

 Yazmayı bitirdiğimiz programımızın olduğu dizinde arama çubuğuna “cmd” yazarak çıkan komut istemine “python <programınAdı>.py” komutu yazarak çalıştırabiliriz. Program verdiğiniz girdilere göre çalışıp videoyu indirdiğinde indirmek istediğiniz video, indirmek istediğiniz formatta, program ile aynı dizinde karşınıza çıkacaktır.

  Programın Kullanımı

 

Programımızı Biraz Daha Geliştirmek İstersek

 Eğer siz YouTube video indirme programınızı bu halde kullanmaya karar verirseniz sadece iki farklı YouTube video indirme alternatifine sahip olan bir konsol uygulaması olarak kalacaktır. Eğer yazılımla çok bir alakanız yoksa ve sadece işinize yaraması için bu programı yazdıysanız elbette programınızı bu yazı ile yazdığınız şekilde bırakabilirsiniz. Ancak programlama ve Python dili bir şekilde ilginizi çektiyse ve/veya programınızı bir veya birkaç adım ileriye taşımak istiyorsanız bu programı geliştirmek için bazı eklentiler yapabilirsiniz. 

Eklenti Fikri 1: Grafik Arayüzü 

Grafik arayüzü, günümüzde pek çok bilgisayar programı içerisinde olmazsa olmaz bir bileşen olarak nitelendirilmektedir. Kullanım kolaylığı, göze güzel görünme gibi sebeplerle grafik arayüzü konsol arayüzlerine göre daha çok tercih edilmektedir. Python dili için tam da bu amaçla yazılmış olan “tkinter” kütüphanesi ile geliştirme ortamınızda programınıza bir görsel arayüz kodlayabilirsiniz. Ya da buna alternatif olarak Colorama gibi kütüphaneler aracılığıyla konsol arayüzünüzü renklendirebilirsiniz. 

Eklenti Fikri 2: Çoklu Video İndirme 

YouTube video indirme siteleri genelde bir seferde sadece bir video indirmenizi sağlayacak şekilde çalışmaktadır. Ancak siz Python dilini biraz daha iyi öğrenip yazdığınız bu programı tek seferde birden fazla video indirebilecek şekilde geliştirebilirsiniz. Konsol üzerinden, bir dış dosya (bir .txt dosyası gibi) veya grafik arayüzü üzerinden birden fazla video bağlantısı girip aynı anda veya ardı ardına birden fazla video indirme işlemi gerçekleştirebilecek bir program tasarlayabilirsiniz. Bu sistemi entegre etme yönteminize bağlı olarak, aynı anda veya ardı ardına iki, üç, beş, hatta on video indirebilirsiniz. 

Son Söz 

Bu yazıda Python kullanarak YouTube video indirme programının nasıl yazılacağını ve iki basit şekilde bu programı nasıl daha iyi bir hale getirebileceğimizi öğrendik. Bu program sayesinde herhangi bir YouTube video indirme sitesine girmeye gerek duymadan sadece YouTube bağlantılarını alarak istediğimiz formatta video indirme işlemini gerçekleştirebiliriz.

Python Colorama

Python Colorama ile Renkli Konsollar

Bilgisayarlarındaki komut istemi programlarıyla ilgilenen bilgisayar kullanıcıları, zaman zaman konsollarının farklı şekillerde görünmelerini isteyebilir. Bunun için akla gelen ilk şey tabii ki konsolun renklerini ...
WhatsApp Tek Hesabı Birden Fazla Telefonda Kullanma

WhatsApp Tek Hesabı Birden Fazla Telefonda Kullanma

WhatsApp tek hesabı birden fazla telefonda kullanma güncellemesi ile birlikte artık mesajlarınıza tek bir telefondan değil birden fazla telefon, tablet ve bilgisayar üzerinden erişebilmenize ...
Windows görev çubuğunu şeffaf yapmak

Windows Görev Çubuğunu (Başlat Çubuğu) Şeffaf Yapmak

Windows görev çubuğunu şeffaf yapmak ya da başlat çubuğunu şeffaf yapmak işletim sisteminden alacağınız görsel zevki doğrudan etkileyecektir. Her ne kadar düşük özelliklere sahip ...
WhatsApp numara kaydetmeden mesaj atma

WhatsApp Numara Rehbere Kaydetmeden Nasıl Mesaj Atılır?

WhatsApp numara kaydetmeden mesaj atma yöntemi ile numarasının rehberinizde bulunmasını istemediğiniz kişilere mesaj gönderebilir, kişi listenizi kabartmanıza gerek kalmadan mesajlaşmaya başlayabilirsiniz. WhatsApp, her ne ...
Windows Disk Bölme Nasıl Yapılır

Windows Disk Bölme ve Diski Yeniden Boyutlandırma

Windows disk bölme nasıl yapılır? Ya da daha önceden bölmüş olduğunuz Windows bölünmüş diski yeniden boyutlandırma nasıl yapılır? Kimi zaman işletim sistemlerinde formattan önce ...
Google Haritalar Sanal Gerçeklik

Google Haritalar Sanal Gerçeklik Güncellemesi

Google haritalar sanal gerçeklik güncellemesi ile pek çok özelliğe kavuşuyor! Haritalar tarafından yapılan açıklamalara göre; yol tarifi sistemi baştan aşağı değişiyor ve sanal gerçeklik ...
Front End Developer

Front End Developer Nedir ve Yol Haritası Ne Olmalı?

Front End Developer nedir? Front End Developer yol haritası nasıl olmalı? Gibi sorular, özellikle yazılım ve internet sektörüne artan yoğun ilgiden dolayı sıkça merak ...
MySQL

MySQL Nedir?, MySQL Nasıl Çalışır?, MySQL’in Özellikleri?

MySQL, günümüzde en çok kullanılan veri tabanı yönetim sistemlerinden biridir. MySQL veri tabanı, web uygulamaları geliştirme sürecinde sıklıkla tercih edilen bir veri tabanı yönetim ...
IMEI Kayıt ücreti nasıl ödenir

IMEI Kayıt Ücreti Nasıl Ödenir? IMEI Kaydı Nasıl Yapılır?

IMEI Kayıt ücreti nasıl ödenir? IMEI Kayıt ücreti ne kadar? Gibi sorular, özellikle ülkemizde artan telefon fiyatları nedeni ile sıkça sorulmaya başlandı. Yurt dışından ...
Olimpiyat Oyunları

2024 Olimpiyat Oyunları Nerede Yapılacak?

2024 Yaz Olimpiyat Oyunları Fransa’nın başkenti Paris’te düzenlenecek. Etkinliğin Ağustos ayında yapılması planlanıyor. Paris yüz yıl sonra yeniden Olimpiyat Oyunlarına ev sahipliği yapacak. Başvuruda ...