创建一个 GUI 来使用Python从歌曲中提取歌词
在本文中,我们将编写一个Python脚本来从歌曲中提取歌词并与其 GUI 应用程序绑定。我们将使用歌词提取器 为了仅通过传递歌曲名称来获取歌曲的歌词,它会从各种网站中提取并返回歌曲的标题和歌词。在开始之前,安装歌词提取器模块。将此命令运行到您的终端中。
pip install lyrics-extractor
要求
需要 Google 自定义搜索 JSON API 的 API 密钥和引擎 ID。
引擎 ID
- 创建自定义搜索引擎以在此处获取您的引擎 ID。
- 我们必须创建自己的可编程搜索引擎(Google 自定义搜索引擎)并添加链接以获取歌词。
- 可编程搜索引擎基于谷歌的核心搜索技术。
- 它是您网站的搜索引擎,其任务是根据用户的选择查找信息。
选择任一链接以获取您的搜索引擎:
https://genius.com/
http://www.lyricsted.com/
http://www.lyricsbell.com/
https://www.glamsham.com/
http://www.lyricsoff.com/
http://www.lyricsmint.com/
JSON API :
- 自定义搜索 JSON API 能够从可编程搜索引擎检索和显示搜索结果。
- 要使用自定义搜索 JSON API,我们必须创建可编程搜索引擎。
- 访问此处获取您的 API 密钥。
方法:
- 导入模块。
from lyrics_extractor import SongLyrics
- 将 Google 自定义搜索 JSON API 密钥和引擎 ID 传递到SongLyrics()中。
extract_lyrics = SongLyrics(Your_API_KEY, GCS_ENGINE_ID)
- 通过将歌曲名称作为参数传递给extract_lyrics.get_lyrics()方法来获取歌词。
extract_lyrics.get_lyrics("Shape of You")
下面是实现。
Python3
# importing modules
from lyrics_extractor import SongLyrics
# pass the GCS_API_KEY, GCS_ENGINE_ID
extract_lyrics = SongLyrics("AIzaSewfsdfsdfOq0oTixw","frewrewrfsac")
extract_lyrics.get_lyrics("Tujhse Naraz Nahi Zindagi Lyrics")
Python3
# import modules
from tkinter import *
from lyrics_extractor import SongLyrics
# user defined funtion
def get_lyrics():
extract_lyrics = SongLyrics(
"Aerwerwefwdssdj-nvN3Oq0oTixw", "werwerewcxzcsda")
temp = extract_lyrics.get_lyrics(str(e.get()))
res = temp['lyrics']
result.set(res)
# object of tkinter
# and background set to light grey
master = Tk()
master.configure(bg='light grey')
# Variable Classes in tkinter
result = StringVar()
# Creating label for each information
# name using widget Label
Label(master, text="Enter Song name : ",
bg="light grey").grid(row=0, sticky=W)
Label(master, text="Result :",
bg="light grey").grid(row=3, sticky=W)
# Creating lebel for class variable
# name using widget Entry
Label(master, text="", textvariable=result,
bg="light grey").grid(row=3, column=1, sticky=W)
e = Entry(master, width=50)
e.grid(row=0, column=1)
# creating a button using the widget
b = Button(master, text="Show",
command=get_lyrics, bg="Blue")
b.grid(row=0, column=2, columnspan=2,
rowspan=2, padx=5, pady=5,)
mainloop()
输出:
注意:输入您自己的 API 密钥和引擎 ID,否则会产生错误。
使用 Tkinter 提取歌词应用程序:
蟒蛇3
# import modules
from tkinter import *
from lyrics_extractor import SongLyrics
# user defined funtion
def get_lyrics():
extract_lyrics = SongLyrics(
"Aerwerwefwdssdj-nvN3Oq0oTixw", "werwerewcxzcsda")
temp = extract_lyrics.get_lyrics(str(e.get()))
res = temp['lyrics']
result.set(res)
# object of tkinter
# and background set to light grey
master = Tk()
master.configure(bg='light grey')
# Variable Classes in tkinter
result = StringVar()
# Creating label for each information
# name using widget Label
Label(master, text="Enter Song name : ",
bg="light grey").grid(row=0, sticky=W)
Label(master, text="Result :",
bg="light grey").grid(row=3, sticky=W)
# Creating lebel for class variable
# name using widget Entry
Label(master, text="", textvariable=result,
bg="light grey").grid(row=3, column=1, sticky=W)
e = Entry(master, width=50)
e.grid(row=0, column=1)
# creating a button using the widget
b = Button(master, text="Show",
command=get_lyrics, bg="Blue")
b.grid(row=0, column=2, columnspan=2,
rowspan=2, padx=5, pady=5,)
mainloop()
注意:输入您自己的 API 密钥和引擎 ID,否则会产生错误。
输出: