Spaces:
Sleeping
Sleeping
from Recomendation import recommend_song_interface | |
import gradio as gr | |
import requests | |
def search_youtube(song, artist, api_key): | |
query = f"{song} by {artist}" | |
search_url = "https://www.googleapis.com/youtube/v3/search" | |
params = { | |
'part': 'snippet', | |
'q': query, | |
'type': 'video', | |
'maxResults': 1, | |
'key': api_key | |
} | |
response = requests.get(search_url, params=params) | |
response_json = response.json() | |
if 'items' in response_json and response_json['items']: | |
video_id = response_json['items'][0]['id']['videoId'] | |
youtube_link = f"https://www.youtube.com/watch?v={video_id}" | |
return youtube_link | |
else: | |
return "No se encontraron resultados." | |
def add_youtube_links(recommendations, api_key): | |
recommendations_with_links = [] | |
for recommendation in recommendations: | |
if recommendation: # Si la recomendaci贸n no es una cadena vac铆a | |
song, artist = recommendation.split(" by ") | |
youtube_link = search_youtube(song, artist, api_key) | |
recommendations_with_links.append(f"{recommendation} - YouTube Link: {youtube_link}") | |
else: | |
recommendations_with_links.append("") | |
return recommendations_with_links | |
def recommend_with_youtube_links(song_name, artist_name): | |
api_key = "AIzaSyAp-D7Mfafd6gJQo2gtAXRXwDlG8_uNXnU" | |
recommendations = recommend_song_interface(song_name, artist_name) | |
recommendations_with_links = add_youtube_links(recommendations, api_key) | |
return recommendations_with_links | |
# Configuraci贸n de la interfaz Gradio | |
iface = gr.Interface( | |
fn=recommend_with_youtube_links, | |
inputs=[ | |
gr.Textbox(placeholder="Ingrese el t铆tulo de la canci贸n", label="T铆tulo de la Canci贸n"), | |
gr.Textbox(placeholder="Ingrese el nombre del artista", label="Nombre del Artista") | |
], | |
outputs=[ | |
gr.Text(label="Recomendaci贸n 1"), | |
gr.Text(label="Recomendaci贸n 2"), | |
gr.Text(label="Recomendaci贸n 3"), | |
gr.Text(label="Recomendaci贸n 4"),], | |
title="Recomendador de Canciones con Enlaces de YouTube", | |
description="Ingrese el t铆tulo de una canci贸n y el nombre del artista.", | |
theme="dark", # Comenta o elimina si el tema oscuro no est谩 disponible | |
css=""" | |
body {font-family: Arial, sans-serif;} | |
.input_text {background-color: #f0f0f0; border-radius: 5px;} | |
.output_text {border: 2px solid #f0f0f0; border-radius: 5px; padding: 10px;} | |
""" | |
) | |
iface.launch() | |