busqueda_youtube

 

Código extraído de las imágenes

Primera imagen (Bloque condicional):

python
elif 'busca en youtube' in comando:
    busqueda_youtube(comando)

Segunda imagen (Definición de la función):

python
def busqueda_youtube(busca):
    busca = busca.replace('busca en youtube', '')
    hablar('Comenzando búsqueda...')
    pywhatkit.playonyt(busca)

Tercera imagen (Instalación en terminal):

bash
C:\Users\edudu>pip install pywhatkit

Tutorial: Crear un Comando de Búsqueda en YouTube con Python

Este tutorial te guiará para entender y crear un script en Python que permita buscar y reproducir un video en YouTube mediante un comando de voz o texto, utilizando la lógica de las imágenes.

Requisitos previos

  • Tener Python instalado en tu sistema.

  • Un editor de texto o IDE (como VS Code, PyCharm, o incluso el bloc de notas).

  • Conocimientos básicos de Python (variables, funciones, condicionales).

Paso 1: Entender la lógica general

El código se compone de tres partes principales que trabajan juntas:

  1. Instalación de la librería: Necesitamos instalar pywhatkit, que es la que realmente hace la magia de abrir YouTube.

  2. La condición (el "oído"): Un bloque elif que escucha si la frase "busca en youtube" está presente en el comando que el usuario dio.

  3. La acción (el "hacedor"): Una función llamada busqueda_youtube que toma ese comando, lo limpia y ejecuta la búsqueda.

Paso 2: Instalar la librería necesaria

Antes de escribir código, debemos instalar pywhatkit. Abre tu terminal o línea de comandos y ejecuta:

bash
pip install pywhatkit

¿Qué hace esto? Descarga e instala la librería pywhatkit, que nos proporciona funciones útiles, como playonyt() para reproducir videos de YouTube.

Paso 3: Crear la función de búsqueda (El "hacedor")

Analicemos la función de la segunda imagen. Cópiala en tu archivo de Python.

python
import pywhatkit
import pyttsx3 # Asumimos que usas esta librería para hablar

# Inicializar el motor de voz (si usas pyttsx3)
# engine = pyttsx3.init()
# def hablar(texto):
#     engine.say(texto)
#     engine.runAndWait()

def busqueda_youtube(busca):
    """
    Toma un comando, extrae el término de búsqueda y lo reproduce en YouTube.
    """
    # 1. Limpiar el comando
    busca = busca.replace('busca en youtube', '')
    # 2. Dar retroalimentación de voz
    hablar('Comenzando búsqueda...')
    # 3. Ejecutar la búsqueda en YouTube
    pywhatkit.playonyt(busca)

Explicación línea por línea:

  1. import pywhatkit: Importa la librería que acabamos de instalar para poder usar sus funciones.

  2. def busqueda_youtube(busca):: Definimos una función llamada busqueda_youtube que recibe un parámetro llamado busca. Este parámetro será el comando completo que el usuario pronunció o escribió (ej: "busca en youtube baby shark").

  3. busca = busca.replace('busca en youtube', ''):

    • Es una operación de cadena de texto.

    • Toma el texto original en busca (ej: "busca en youtube baby shark").

    • Busca la subcadena "busca en youtube" y la reemplaza con una cadena vacía '', es decir, la elimina.

    • El resultado se guarda de nuevo en la variable busca. Ahora busca contiene solo el término de búsqueda (ej: " baby shark").

  4. hablar('Comenzando búsqueda...'):

    • Llama a una función hablar() (que asumimos que está definida en otro lugar del código, probablemente con una librería como pyttsx3).

    • Su propósito es dar retroalimentación al usuario, diciendo "Comenzando búsqueda..." para que sepa que el comando fue recibido.

  5. pywhatkit.playonyt(busca):

    • Aquí es donde ocurre la acción principal.

    • pywhatkit.playonyt() es una función que toma un término de búsqueda.

    • Abre tu navegador web predeterminado, va a YouTube, busca el término (en este caso, "baby shark") y reproduce el primer video de los resultados.

Paso 4: Integrar la función con un "oyente" (El condicional)

Ahora necesitamos la parte que decide cuándo ejecutar esta función. Aquí es donde entra el bloque elif de la primera imagen. Este bloque normalmente estaría dentro de un bucle infinito que está constantemente escuchando comandos.

python
# ... (código anterior, incluyendo importaciones y definición de 'hablar') ...

# Supongamos que aquí tenemos un comando de ejemplo
# En un programa real, 'comando' podría venir de un reconocedor de voz.
comando_ejemplo = "busca en youtube música relajante"

# Comprobar si el comando contiene la frase clave
if 'busca en youtube' in comando_ejemplo:
    # Si es así, llamamos a nuestra función
    busqueda_youtube(comando_ejemplo)

Explicación:

  • if 'busca en youtube' in comando:: Esta línea es una condición. Evalúa si la cadena de texto "busca en youtube" está contenida dentro de la variable comando. Si es verdadera (es decir, el usuario dijo esa frase), el código dentro del if (o elif en este caso) se ejecuta.

  • busqueda_youtube(comando): Dentro del bloque, simplemente llamamos a la función que creamos en el Paso 3, pasándole el comando completo para que ella lo procese.

Paso 5: Juntarlo todo

Aquí tienes un ejemplo completo funcional (sin la parte de voz para simplificar, usando solo entrada de texto):

python
import pywhatkit

def busqueda_youtube(busca):
    """Limpia el comando y busca en YouTube."""
    termino_busqueda = busca.replace('busca en youtube', '').strip()
    print(f"Buscando en YouTube: '{termino_busqueda}'") # Simula la respuesta de voz
    print("Comenzando búsqueda...")
    try:
        pywhatkit.playonyt(termino_busqueda)
    except Exception as e:
        print(f"Ocurrió un error: {e}")

# --- Simulación del programa principal ---
while True:
    comando_usuario = input("Di un comando (o escribe 'salir' para terminar): ")

    if comando_usuario.lower() == 'salir':
        break

    # Esta es la condición clave de la primera imagen
    elif 'busca en youtube' in comando_usuario.lower():
        busqueda_youtube(comando_usuario)

    else:
        print("Comando no reconocido.")

Resumen del flujo completo

  1. El programa espera un comando.

  2. El usuario escribe o dice: "busca en youtube never gonna give you up".

  3. La condición if 'busca en youtube' in comando se vuelve True.

  4. Se ejecuta la función busqueda_youtube("busca en youtube never gonna give you up").

  5. Dentro de la función, busca.replace() limpia el comando, dejando solo " never gonna give you up".

  6. La función hablar() (o un print() en nuestro ejemplo simplificado) da retroalimentación.

  7. Finalmente, pywhatkit.playonyt(" never gonna give you up") abre el navegador y reproduce el video.

¡Y eso es todo! Has creado un pequeño pero poderoso módulo de control para YouTube usando Python.

Comentarios

Entradas más populares de este blog

1-7. Transforma tu audio a texto

10. Haz que tu asistente hable

8. NUEVO - Solución si tu micrófono no está captando tu audio