Р. Эрик Кисер

На прошлой неделе я создал простой скрипт на Python, который может работать в любом интерфейсе командной строки и извлекает тренды поиска Google YouTube за 90-дневный период. На основе этой идеи я делаю серию статей для начинающих программистов на Python. Большая часть обучения Python, которое мне приходилось посещать, была очень сухой. Я надеюсь предоставить более надежную серию, которая придерживается. Python предлагает широкий набор модулей, которые упрощают программирование, но программисты должны быть осторожны с проблемами безопасности и соблюдать лицензионные соглашения. Я напишу об этом позже. А пока наслаждайтесь этой прогрессией в предыдущей статье, которую я написал «Скрипт Python для поиска трендов данных YouTube

import tkinter as tk
from tkinter import ttk
from pytrends.request import TrendReq

Первым шагом, как всегда, является импорт необходимых модулей. Библиотека tkinter создаст графический интерфейс пользователя (GUI). Библиотека pytrends используется для взаимодействия с API Google Trends и получения данных трендов.

# create a new instance of the pytrends class
pytrend = TrendReq()

def on_submit():
    # get the keyword from the user input
    keyword = keyword_entry.get()
    kw_list = [keyword]
    timeframe = "today 1-m"

    # get the trends
    pytrend.build_payload(kw_list, cat=0, timeframe=timeframe, geo='', gprop='youtube')
    trends = pytrend.interest_over_time()
    # get the most searched queries
    related_queries = pytrend.related_queries()

    # insert the trends in the text widget
    trend_text.insert('1.0', trends)
    # insert the related queries in the text widget
    query_text.insert('1.0', related_queries)

Он создает новый экземпляр pytrends класса, а затем определяет функцию on_submit(), которая запускается нажатием кнопки отправки. Функция берет ключевое слово из пользовательского ввода и устанавливает параметры для поиска тенденций, список ключевых слов, временные рамки и gprop='youtube' , чтобы ограничить поиск youtube. Затем он использует библиотеку pytrends для получения данных тренда и самых популярных запросов, связанных с введенным ключевым словом.

# Create a new Tkinter window
root = tk.Tk()
root.title("YouTube Trends Search")

# Create a keyword entry field
keyword_label = ttk.Label(root, text="Enter a keyword:")
keyword_label.grid(row=0, column=0)
keyword_entry = ttk.Entry(root)
keyword_entry.grid(row=0, column=1)

# Create a search button
search_button = ttk.Button(root, text="Search", command=search_trends)
search_button.grid(row=0, column=2)

# Create a text widget to display the trends
trend_text = tk.Text(root)
trend_text.grid(row=1, column=0, columnspan=3)

# Create a text widget to display the most searched queries
query_text = tk.Text(root)
query_text.grid(row=2, column=0, columnspan=3)

# Run the Tkinter event loop
root.mainloop()

Программа создаст окно Tkinter с полем ввода ключевого слова, кнопкой поиска и двумя текстовыми виджетами. Разметка виджетов выполняется методом grid().

Программа запускает цикл событий Tkinter, вызывая метод mainloop(), который позволяет пользователю взаимодействовать с программой и искать тренды YouTube по ключевому слову.