Обязательное условие: API YouTube, Tkinter
Python предлагает несколько вариантов разработки графического интерфейса пользователя (GUI). Из всех методов графического интерфейса Tkinter является наиболее часто используемым методом. Это стандартный интерфейс Python для инструментария Tk GUI, поставляемого вместе с Python. Python с Tkinter-это самый быстрый и простой способ создания приложений с графическим интерфейсом.
В этой статье мы узнаем, как мы можем получать данные (например, название, просмотры, лайки, антипатии и т.д.) Из любого видео YouTube с помощью API YouTube на Python.
Ниже приведен графический интерфейс, который необходимо создать:
Пошаговый подход:
Прежде чем продолжить, следует должным образом пройти API YouTube для того, чтобы установить необходимые модули и включить необходимые функции, как указано в статье.
- Импортируйте необходимые модули.
# Import Module
from tkinter import *
from googleapiclient.discovery import build
- Мы будем использовать build(), list(), execute() метод, он даст подробную информацию о видео.
- Внутри метод списка, передайте фрагмент кода и статистику в часть имущества и в Пропуск на видеозапись VideoID VideoURL.
# creating youtube resource object
youtube = build('youtube','v3', developerKey="Enter API Key")
# retrieve youtube video results
video_request=youtube.videos().list(
part='snippet,statistics',
id="Enter Video ID"
)
video_response = video_request.execute()
- Получите заголовок, просмотры, лайки от video_response.
title = video_response['items'][0]['snippet']['title']
likes = video_response['items'][0]['statistics']['likeCount']
views = video_response['items'][0]['statistics']['viewCount']
- Создайте окно Tkinter; Добавьте кнопки, ярлык и т. д..
# Create Object
root = Tk()
# Set Geometry
root.geometry("500x300")
# Add Label, Entry Box and Button
Label(root, text="Title, Views, Likes of YouTube Video", fg="blue",
font=("Helvetica 20 bold"), relief="solid", bg="white").pack(pady=10)
Label(root, text="Enter video URL or ID", font=("10")).pack()
video_url = Entry(root, width=40, font=("15"))
video_url.pack(pady=10)
Button(root, text="Get Details", font=("Helvetica 15 bold")).pack()
details = Label(root, text="")
details.pack(pady=10)
# Execute Tkinter
root.mainloop()
Ниже приводится реализация, основанная на вышеуказанном подходе:
# Import Module
from tkinter import *
from googleapiclient.discovery import build
def video_details():
if "youtube" in video_url.get():
video_id = video_url.get()[len("https://www.youtube.com/watch?v="):]
else:
video_id = video_url.get()
# creating youtube resource object
youtube = build('youtube','v3',developerKey='Enter API Key')
# retrieve youtube video results
video_request=youtube.videos().list(
part='snippet,statistics',
id=video_id
)
video_response = video_request.execute()
title = video_response['items'][0]['snippet']['title']
likes = video_response['items'][0]['statistics']['likeCount']
views = video_response['items'][0]['statistics']['viewCount']
details.config(text=f"Title:- {title}\nLikes:- {likes}\nViews:- {views}")
# Create Object
root = Tk()
# Set Geometry
root.geometry("500x300")
# Add Label, Entry Box and Button
Label(root,text="Title, Views, Likes of YouTube Video", fg="blue",
font=("Helvetica 20 bold"),relief="solid",bg="white").pack(pady=10)
Label(root,text="Enter video URL or ID", font=("10")).pack()
video_url = Entry(root,width=40,font=("15"))
video_url.pack(pady=10)
Button(root,text="Get Details" ,font=("Helvetica 15 bold"),command=video_details).pack()
details = Label(root,text="")
details.pack(pady=10)
# Execute Tkinter
root.mainloop()