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.

keyword

Anahtar Kelime Analizi Nedir, Nasıl Yapılır?

İnternet kullanıcılarının internet üzerinde arattıkları terimleri bulmak ve bunları SEO stratejilerinde kullanmak için gerçekleştirilen çalışmaya anahtar kelime analizi denir. Web sitesi oluşturmak isteyenlerin anahtar ...
Python ile Basit Reactive AI Geliştirme

Python ile Basit Reactive AI Geliştirme

Günümüzde gittikçe daha çok ivme kazanan yapay zeka uygulamaları, şirketler kadar kendi yapay zeka uygulamalarını yazmak isteyenlerin de ilgi odağı haline geliyor. Python hakkında ...
pyhton flask

Python Flask Nedir ve Python Flask ile Web Geliştirme

Python ile uygulama geliştirme dendiğinde akla genellikle konsol uygulamaları, veri uygulamaları ve yapay zeka gelir, ancak Python dilinin yoğun olarak kullanıldığı alanlardan birisi de ...

Microsoft Copilot Nedir ve Nasıl Kullanılır?

Microsoft Copilot, Microsoft'un Windows, Edge, mobil ve Office 365 için yapay zeka aracıdır. Yapay zekanın gelişmesi ve OpenAI GPT'nin popüler olması ile birlikte teknoloji ...
Gmail akıllı yazma

G-mail Akıllı Yazma Özelliğini Açma Kapatma

Akıllı yazma aracı, e-mailler için otomatik tamamlama gibi çalışır. E-maillerin nasıl yazılacağını öğrenir ve cümlelerin tamamlanmasını sağlar. E-mail metinlerinin hızlıca oluşmasını sağlar. Yazarken öneriler ...
IMAP

İmap Nedir? İmap Kullanımının Faydaları

Birçok insan imap nedir bilmemektedir. Gerek günlük hayatta gerekse iş hayatında e-mail kullanımı çok önemlidir. E-mail protokolü sayesinde kişiler her cihazdan e-mailerini kontrol edebilir, ...
mac windows

Mac vs Windows Bilgisayar Özet Karşılaştırma

Bilgisayar teknolojisi, günümüzde büyük ölçüde Windows ve Mac işletim sistemleri üzerine odaklanmış durumda. Her iki işletim sistemi de benzersiz özelliklere ve kullanıcı deneyimine sahiptir ...
Gmail görev oluşturma

G-mail Görev Oluşturma G-mail Alanlar Düzenleme

G-Mail’den görev oluşumu çok basittir. Öncelikle, G-Mail hesabına giriş yaparak, sağ üstteki alan "Görevler"e tıklanmalıdır. Açılacak pencerede, yeni görevin eklenebilmesi için "Görev Ekle"ye tıklanmalıdır ...
MAPI EWS

MAPI EWS Nedir Ne İşe Yarar Ne Amaçla Kullanılır?

Teknolojinin gelişim göstermesi ile birlikte MAPI EWS nedir ne amaçla kullanılır pek çok kişi tarafından merak edilmektedir. İnternet önemli iletişim kaynaklarındandır. Gere iş alanlarında ...
Shopify

Shopify DNS Yönlendirmesini Yapmak Adım Adım

Sahip olduğunuz alan adını Shopify’e yönlendirmek istediğinizde hangi işlemleri gerçekleştirmeniz gerektiğini merak ediyor olabilirsiniz. Shopify DNS Yönlendirmesini Yapmak Adım Adım aktaracağımız bu yazımız sizler ...