KuzeyGneyolu61

basit versiyonunu yazıyorum. diğer gelişmiş versiyonları ücretlidir.
import tkinter as tk
from tkinter import ttk
from googleapiclient.discovery import build
# YouTube API anahtarınız
API_KEY = "senin_API_kelimen"
def search_videos():
query = entry.get() # textbox'tan sorguyu al
search_results = search_videos_api(query)
# Treeview temizle
for row in treeview.get_children():
treeview.delete(row)
# Sonuçları Treeview'e ekle
for video in search_results:
treeview.insert('', 'end', values=(video['title'], video['video_id'], video['channel_title'], video['description'], video['publish_time'], video['comment_count'], video['view_count']))
def search_videos_api(query, max_results=20):
youtube = build('youtube', 'v3', developerKey=API_KEY)
# Belirli bir sorgu ile videoları ara
search_response = youtube.search().list(
q=query,
part='id,snippet',
maxResults=max_results
).execute()
videos = []
for search_result in search_response.get('items', []):
if search_result['id']['kind'] == 'youtube#video':
video_id = search_result['id']['videoId']
# Video detaylarını al
video_response = youtube.videos().list(
part='statistics',
id=video_id
).execute()
statistics = video_response['items'][0]['statistics']
video = {
'title': search_result['snippet']['title'],
'video_id': video_id,
'channel_title': search_result['snippet']['channelTitle'],
'description': search_result['snippet']['description'],
'publish_time': search_result['snippet']['publishedAt'],
'comment_count': statistics.get('commentCount', 0),
'view_count': statistics.get('viewCount', 0)
# İstediğiniz diğer öznitelikleri ekleyebilirsiniz
}
videos.append(video)
return videos
# Ana pencere oluştur
root = tk.Tk()
root.title("YouTube Video Arama")
# Arama kutusu
entry = ttk.Entry(root)
entry.pack(pady=10)
# Arama düğmesi
button = ttk.Button(root, text="Ara", command=search_videos)
button.pack(pady=5)
# Sonuçları göstermek için Treeview
columns = ('Title', 'Video ID', 'Channel Title', 'Description', 'Publish Time', 'Comment Count', 'View Count')
treeview = ttk.Treeview(root, columns=columns, show='headings')
for col in columns:
treeview.heading(col, text=col)
treeview.pack(padx=10, pady=5)
root.mainloop()