• 08-01-2025, 18:27:33
    #1
    Bilgisayarınızda ki excel dosyasında kayıtlı videoların linklerini toplu olarak en yüksek kalitede bir klasöre indirmek isterseniz eğer :
    import os
    import pandas as pd
    from yt_dlp import YoutubeDL
    
    # Ayarlar
    EXCEL_PATH = "C:\\Users\\pc\\OneDrive\\Masaüstü\\[B]EXCELDOSYAADI[/B].xlsx"  # YouTube link listesinin olduğu Excel dosyası
    SAVE_PATH = "C:\\Users\\pc\\OneDrive\\Masaüstü\\[B]Yeni klasör[/B]"  # İndirilecek dosyaların kaydedileceği yer
    
    # YouTube videosunu indirme
    def download_youtube_video(url, save_path):
        try:
            print(f"Video indiriliyor: {url}")
            ydl_opts = {
                'outtmpl': os.path.join(save_path, '%(title)'),  # Dosya adı ve formatı
                'format': 'bestvideo[height<=1080]+bestaudio/best[height<=1080]',  # 1080p veya daha düşük kalitedeki en iyi video
                'merge_output_format': 'mp4',  # Birleştirilmiş çıktı formatı
            }
            with YoutubeDL(ydl_opts) as ydl:
                ydl.download([url])
            print("Video indirildi.")
        except Exception as e:
            print(f"Video indirilemedi: {e}")
    
    # Ana script
    def main():
        print("Excel dosyasından YouTube linkleri okunuyor...")
        df = pd.read_excel(EXCEL_PATH)
        if "YouTube Link" not in df.columns:
            raise ValueError("Excel dosyasında 'YouTube Link' adlı bir sütun bulunamadı.")
        
        youtube_links = df["YouTube Link"].dropna().tolist()  # NaN değerleri kaldır
        print(f"Toplam {len(youtube_links)} link indirilecek.")
    
        for url in youtube_links:
            download_youtube_video(url, SAVE_PATH)
    
        print("Tüm işlemler tamamlandı.")
    
    if __name__ == "__main__":
        main()
  • 08-01-2025, 18:36:11
    #2
    İşte forum bu yüzden var. Teşekkür ederiz.
    • Alicangzl06
    Alicangzl06 bunu beğendi.
    1 kişi bunu beğendi.
  • 08-01-2025, 20:56:51
    #3
    Alicangzl06 adlı üyeden alıntı: mesajı görüntüle
    Bilgisayarınızda ki excel dosyasında kayıtlı videoların linklerini toplu olarak en yüksek kalitede bir klasöre indirmek isterseniz eğer :
    import os
    import pandas as pd
    from yt_dlp import YoutubeDL
    
    # Ayarlar
    EXCEL_PATH = "C:\\Users\\pc\\OneDrive\\Masaüstü\\[B]EXCELDOSYAADI[/B].xlsx"  # YouTube link listesinin olduğu Excel dosyası
    SAVE_PATH = "C:\\Users\\pc\\OneDrive\\Masaüstü\\[B]Yeni klasör[/B]"  # İndirilecek dosyaların kaydedileceği yer
    
    # YouTube videosunu indirme
    def download_youtube_video(url, save_path):
        try:
            print(f"Video indiriliyor: {url}")
            ydl_opts = {
                'outtmpl': os.path.join(save_path, '%(title)'),  # Dosya adı ve formatı
                'format': 'bestvideo[height<=1080]+bestaudio/best[height<=1080]',  # 1080p veya daha düşük kalitedeki en iyi video
                'merge_output_format': 'mp4',  # Birleştirilmiş çıktı formatı
            }
            with YoutubeDL(ydl_opts) as ydl:
                ydl.download([url])
            print("Video indirildi.")
        except Exception as e:
            print(f"Video indirilemedi: {e}")
    
    # Ana script
    def main():
        print("Excel dosyasından YouTube linkleri okunuyor...")
        df = pd.read_excel(EXCEL_PATH)
        if "YouTube Link" not in df.columns:
            raise ValueError("Excel dosyasında 'YouTube Link' adlı bir sütun bulunamadı.")
        
        youtube_links = df["YouTube Link"].dropna().tolist()  # NaN değerleri kaldır
        print(f"Toplam {len(youtube_links)} link indirilecek.")
    
        for url in youtube_links:
            download_youtube_video(url, SAVE_PATH)
    
        print("Tüm işlemler tamamlandı.")
    
    if __name__ == "__main__":
        main()
    mesajım bulunsun teşekkürler
  • 09-01-2025, 00:01:15
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    İşte forum bu yüzden var. Teşekkür ederiz.
    mosyo adlı üyeden alıntı: mesajı görüntüle
    mesajım bulunsun teşekkürler
    Rica ederim ❤️
  • 09-01-2025, 00:24:39
    #5
    Alternatif olarak pip install yt-dlp ile ytdl python paketini kurduktan sonra şunu da kullanabilirsiniz,
    best en iyi kaliteyi, worst en düşük dosya boyutunu veya diğer kaliteleri seçebilirsiniz.

    import os
    from yt_dlp import YoutubeDL
    
    def get_user_inputs():
        # Kullanıcıdan gerekli bilgileri al
        txt_path = input("Lütfen YouTube linklerinin bulunduğu txt dosyasının yolunu girin: ")
        download_path = input("Videoların kaydedileceği klasör yolunu girin: ")
        quality = input("Video kalitesini seçin (best/worst/1080p/720p/480p/360p): ")
        
        return txt_path, download_path, quality
    
    def create_download_directory(path):
        # İndirme klasörü yoksa oluştur
        if not os.path.exists(path):
            os.makedirs(path)
            print(f"'{path}' klasörü oluşturuldu.")
    
    def read_urls(file_path):
        # txt dosyasından linkleri oku
        try:
            with open(file_path, 'r', encoding='utf-8') as file:
                # Boş satırları ve whitespace'leri temizle
                urls = [line.strip() for line in file if line.strip()]
            return urls
        except FileNotFoundError:
            print(f"Hata: '{file_path}' dosyası bulunamadı.")
            return []
        except Exception as e:
            print(f"Dosya okuma hatası: {str(e)}")
            return []
    
    def download_videos(urls, download_path, quality):
        # Video kalitesi ayarlarını belirle
        quality_settings = {
            'best': 'bestvideo+bestaudio/best',
            'worst': 'worstvideo+worstaudio/worst',
            '1080p': 'bestvideo[height<=1080]+bestaudio/best[height<=1080]',
            '720p': 'bestvideo[height<=720]+bestaudio/best[height<=720]',
            '480p': 'bestvideo[height<=480]+bestaudio/best[height<=480]',
            '360p': 'bestvideo[height<=360]+bestaudio/best[height<=360]'
        }
        
        format_spec = quality_settings.get(quality.lower(), 'best')
    
        # yt-dlp ayarları
        ydl_opts = {
            'format': format_spec,
            'outtmpl': os.path.join(download_path, '%(title)s.%(ext)s'),
            'ignoreerrors': True,  # Hatalı linklerden sonra devam et
            'no_warnings': False,
            'progress_hooks': [lambda d: print(f"İndiriliyor: {d['filename']}")],
        }
    
        # Videoları indir
        with YoutubeDL(ydl_opts) as ydl:
            for url in urls:
                try:
                    print(f"\nVideo indiriliyor: {url}")
                    ydl.download([url])
                except Exception as e:
                    print(f"Hata oluştu ({url}): {str(e)}")
    
    def main():
        print("YouTube Video İndirme Programı")
        print("-" * 30)
        
        # Kullanıcı girdilerini al
        txt_path, download_path, quality = get_user_inputs()
        
        # İndirme klasörünü oluştur
        create_download_directory(download_path)
        
        # Linkleri oku
        urls = read_urls(txt_path)
        if not urls:
            print("İndirilecek link bulunamadı.")
            return
        
        print(f"\nToplam {len(urls)} video indirilecek.")
        
        # İndirme işlemini başlat
        download_videos(urls, download_path, quality)
        
        print("\nİndirme işlemi tamamlandı!")
    
    if __name__ == "__main__":
        main()
  • 09-01-2025, 00:57:27
    #6
    victories adlı üyeden alıntı: mesajı görüntüle
    Alternatif olarak pip install yt-dlp ile ytdl python paketini kurduktan sonra şunu da kullanabilirsiniz,
    best en iyi kaliteyi, worst en düşük dosya boyutunu veya diğer kaliteleri seçebilirsiniz.

    import os
    from yt_dlp import YoutubeDL
    
    def get_user_inputs():
        # Kullanıcıdan gerekli bilgileri al
        txt_path = input("Lütfen YouTube linklerinin bulunduğu txt dosyasının yolunu girin: ")
        download_path = input("Videoların kaydedileceği klasör yolunu girin: ")
        quality = input("Video kalitesini seçin (best/worst/1080p/720p/480p/360p): ")
        
        return txt_path, download_path, quality
    
    def create_download_directory(path):
        # İndirme klasörü yoksa oluştur
        if not os.path.exists(path):
            os.makedirs(path)
            print(f"'{path}' klasörü oluşturuldu.")
    
    def read_urls(file_path):
        # txt dosyasından linkleri oku
        try:
            with open(file_path, 'r', encoding='utf-8') as file:
                # Boş satırları ve whitespace'leri temizle
                urls = [line.strip() for line in file if line.strip()]
            return urls
        except FileNotFoundError:
            print(f"Hata: '{file_path}' dosyası bulunamadı.")
            return []
        except Exception as e:
            print(f"Dosya okuma hatası: {str(e)}")
            return []
    
    def download_videos(urls, download_path, quality):
        # Video kalitesi ayarlarını belirle
        quality_settings = {
            'best': 'bestvideo+bestaudio/best',
            'worst': 'worstvideo+worstaudio/worst',
            '1080p': 'bestvideo[height<=1080]+bestaudio/best[height<=1080]',
            '720p': 'bestvideo[height<=720]+bestaudio/best[height<=720]',
            '480p': 'bestvideo[height<=480]+bestaudio/best[height<=480]',
            '360p': 'bestvideo[height<=360]+bestaudio/best[height<=360]'
        }
        
        format_spec = quality_settings.get(quality.lower(), 'best')
    
        # yt-dlp ayarları
        ydl_opts = {
            'format': format_spec,
            'outtmpl': os.path.join(download_path, '%(title)s.%(ext)s'),
            'ignoreerrors': True,  # Hatalı linklerden sonra devam et
            'no_warnings': False,
            'progress_hooks': [lambda d: print(f"İndiriliyor: {d['filename']}")],
        }
    
        # Videoları indir
        with YoutubeDL(ydl_opts) as ydl:
            for url in urls:
                try:
                    print(f"\nVideo indiriliyor: {url}")
                    ydl.download([url])
                except Exception as e:
                    print(f"Hata oluştu ({url}): {str(e)}")
    
    def main():
        print("YouTube Video İndirme Programı")
        print("-" * 30)
        
        # Kullanıcı girdilerini al
        txt_path, download_path, quality = get_user_inputs()
        
        # İndirme klasörünü oluştur
        create_download_directory(download_path)
        
        # Linkleri oku
        urls = read_urls(txt_path)
        if not urls:
            print("İndirilecek link bulunamadı.")
            return
        
        print(f"\nToplam {len(urls)} video indirilecek.")
        
        # İndirme işlemini başlat
        download_videos(urls, download_path, quality)
        
        print("\nİndirme işlemi tamamlandı!")
    
    if __name__ == "__main__":
        main()
    Teşekkürlerr