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