Automatiza Youtube con Python

En este artículo vamos a ver cómo automatizar Youtube usando Python.

Módulo utilizado

  • Selenium : Controla un navegador web a través del programa.
  • pyttsx3 : es una biblioteca de conversión de texto a voz en Python
  • Speech_recognition : el reconocimiento de voz es una característica importante en varias aplicaciones utilizadas, como domótica, inteligencia artificial, etc.
  • pyaudio : se utiliza para reproducir y grabar audio en una variedad de plataformas

Asegúrese de haber anotado la ubicación donde se descargó el controlador de cromo (tal como se usa en nuestro script de python). Ahora, después de descargar, extraiga el archivo zip y tenga en cuenta la ubicación del archivo extraído, ya que lo necesitamos más adelante en el código python. (Puede encontrar la ubicación haciendo clic en propiedades y luego en detalles).

Acercarse

  • Importar la biblioteca que tenemos instalada.
  • Luego tenemos que tomar la consulta de búsqueda de entrada usando la biblioteca de reconocimiento de voz. podemos hacer esto creando una instancia de la biblioteca de reconocimiento de voz como sr.Recognizer() .
  • Después de esto, ajuste la frecuencia de umbral y convierta la entrada de voz en una string.
  • Luego, la parte principal entra en escena, hemos creado una función automatizar Youtube() que reproduce el video requerido de Youtube.
  • En esta función, creamos una instancia de controlador usando la función webdriver.Chrome() que toma la ruta de chromedriver como parámetro.
  • Finalmente, busque el nombre, la identificación, la clase o el selector de CSS de la barra de búsqueda y el botón de búsqueda haciendo clic con el botón derecho en inspeccionar la barra de búsqueda y el botón .search.
  • Ahora, simplemente llame a la función automatizarYoutube() para ver el resultado.
  • Ahora tenemos que automatizar los botones de reproducción/pausa para eso encontramos nuevamente el selector CSS del botón de reproducción/pausa usando selenium.

A continuación se muestra la implementación completa

Python3

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import speech_recognition as sr
import pyttsx3
import time
 
 
def automateYoutube(searchtext):
   
    # giving the path of chromedriver to selenium webdriver
    path = "C:\\Users\\hp\\Downloads\\chromedriver"
 
    url = "https://www.youtube.com/"
     
    # opening the youtube in chromedriver
    driver = webdriver.Chrome(path)
    driver.get(url)
 
    # find the search bar using selenium find_element function
    driver.find_element_by_name("search_query").send_keys(searchtext)
 
    # clicking on the search button
    driver.find_element_by_css_selector(
        "#search-icon-legacy.ytd-searchbox").click()
 
    # For finding the right match search
    WebDriverWait(driver, 0).until(expected_conditions.title_contains(MyText))
 
    # clicking on the match search having same as in searched query
    WebDriverWait(driver, 30).until(
        expected_conditions.element_to_be_clickable((By.ID, "img"))).click()
 
    # while(True):
    #     pass
 
 
speak = sr.Recognizer()
try:
    with sr.Microphone() as speaky:
       
        # adjust the energy threshold based on
        # the surrounding noise level
        speak.adjust_for_ambient_noise(speaky, duration=0.2)
        print("listening...")
         
        # listens for the user's input
        searchquery = speak.listen(speaky)
         
        # Using google to recognize audio
        MyText = speak.recognize_google(searchquery)
        MyText = MyText.lower()
 
except sr.RequestError as e:
    print("Could not request results; {0}".format(e))
 
except sr.UnknownValueError:
    print("unknown error occurred")
 
# Calling the function
automateYoutube(MyText)

Producción:

Publicación traducida automáticamente

Artículo escrito por bansalshubhamcse21 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *