Merhaba,
Youtube'da bir kullanıcının tüm videolarını video isimleriyle indirmek istiyorum bunun için bildiğiniz program/site mevcut mudur taglerle olursa daha iyi olur ücretli/ücretsiz çözümlerinizi bekliyorum. Teşekkürler
Youtube'da bir kullanıcının tüm videolarını indirme isimle beraber R10+
6
●170
- 06-11-2023, 13:39:43Dilerseniz tamamını iş olarak indirebilir ve başlık taglar ile beraber hepsini ayrı ayrı klasörleyip teslim edebilirim.
- 06-11-2023, 13:41:17
- google-api-python-client: YouTube Data APIsini kullanmak için
- google-auth-oauthlib ve google-auth-httplib2: YouTube APIya yetkilendirme sağlamak için
- youtube_dl: YouTube videolarını indirmek için
pip install google-api-python-client google-auth-oauthlib google-auth-httplib2 youtube_dl
Ardından, aşağıdaki kodu kullanarak kullanıcının tüm videolarını indirebilirsiniz:
from googleapiclient.discovery import build
from google.oauth2.credentials import Credentials
import os
import youtube_dl
def download_videos(username): # YouTube API'ya bağlanmak için yetkilendirme bilgileri alın creds = Credentials.from_authorized_user_file('credentials .json') # YouTube API'ya istekler yapmak için bir hizmet oluşturun youtube = build('youtube', 'v3', credentials=creds) # Kullanıcının tüm videolarını alın videos = [] next_page_token = None while True: request = youtube.search().list( part='snippet', maxResults=50, # Alınacak sayaç sayısı, maksimum 50. type='video', order='date', q=username, pageToken=next_page_token ) response = request.execute() # Alınan videoları videos listesine ekleyin for item in response['items']: videos.append(item['snippet']['title']) next_page_token = response.get('nextPageToken') if not next_page_token: break
# Kullanıcının videolarını indirin for video in videos: # YoutubeDL kullanarak videoyu indirin ydl_opts = { 'outtmpl': os.path.join(username, '%(title)s.%(ext)s'), } with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download(['ytsearch:' + video]) print('Videolar indirildi.')
# Kullanıcı adını girin ve videolarını indirin
username = input("Kullanıcı adı: ") download_videos(username)
Bu kod, kullanıcıdan YouTube kullanıcı adını alacak ve ardından kullanıcının tüm videolarını indirecektir. Videolar, her video için video başlığı ile ayrı bir klasöre kaydedilecektir.
Önemli: Bu kodun çalışması için YouTube Data APIya erişim yetkisi sağlamanız gerekmektedir. Bu nedenle, bir Google Cloud Platform projesi oluşturmanız ve YouTube Data APIyi etkinleştirmeniz gerekmektedir. Ardından, bir OAuth 2.0 istemci kimlik doğrulama bilgisi oluşturmalı ve bu bilgileri credentials.json adlı bir dosyaya kaydetmelisiniz. Bu dosyayı aynı dizine koyun ve kodu çalıştırın. Yetkilendirme bilgileri sayesinde bot, YouTube APIya yetkilendirme yapabilir ve kullanıcının videolarını indirebilir. - 06-11-2023, 13:44:45YouTube Data APIye erişim için kimlik doğrulama bilgilerini elde etmek için aşağıdaki adımları izleyebilirsiniz:
- Google Cloud Platform (GCP) Projesi Oluşturma:
- Google Cloud Platform konsoluna buradan erişin ve bir Google hesabıyla oturum açın.
- Yeni bir proje oluşturmak için sayfanın üst kısmında bulunan Proje Seçimi düğmesine tıklayın.
- Yeni Proje düğmesine tıklayarak proje oluşturma işlemine başlayın.
- Proje adını girin ve devam edin.
- YouTube Data APIyi Etkinleştirme:
- GCP konsolunda oluşturduğunuz projenin sayfasına gidin.
- Sol üst köşede bulunan API ve Hizmetler menüsüne gidin.
- "API ve Hizmetler Kütüphanesi"ne tıklayın ve açılan sayfada YouTube Data API v3 öğesini arayın.
- YouTube Data API v3ü bulduğunuzda, etkinleştirmek için Etkinleştir düğmesine tıklayın.
- Kimlik Doğrulama Bilgilerini Oluşturma:
- GCP konsolunda sol kenardan Kimlik Doğrulama öğesine tıklayın.
- Kimlik Doğrulama Bilgileri Oluştur düğmesine tıklayın.
- Kimlik Doğrulama bilgi türü olarak "OAuth kimlik doğrulaması"nı seçin.
- Kimlik Doğrulama Bilgilerini Oluştur düğmesine tıklayın.
- Uygulama adı girin ve Kimlik doğrulama bilgileri oluştur düğmesine tıklayın.
- Oluşturulan kimlik doğrulama bilgilerine erişmek için İndir düğmesine tıklayın.
- İndirilen JSON dosyasını bilgisayarınıza kaydedin ve credentials.json olarak adlandırın.
- Google Cloud Platform (GCP) Projesi Oluşturma:
- 06-11-2023, 13:49:34Hocam apiye falan ihtiyacınız yok alinsize kesin çözümMONSAVLE adlı üyeden alıntı: mesajı görüntüle
https://github.com/Tyrrrz/YoutubeDownloader