- 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
Bunları yüklemek için pip kullanabilirsiniz:
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.