Todas las Noticias en Películas, Avances de Películas y Reseñas.

Bot de comentarios de Youtube: cómo programarlo con Python

En este blog, discutiremos cómo construir un bot de comentarios de Youtube con la ayuda de Python y el selenio biblioteca. Es muy útil para hacer crecer tu audiencia de Youtube. Esto se debe a que el bot de comentarios de Youtube aumenta la interacción con otros canales que devuelven tráfico a tu canal. Aparte de esto, construir un bot de Youtube es muy divertido de programar. Podrás aprender muchas cosas. Por ejemplo, programar el bot para navegue por el sitio de youtube: abra videos, haga clic en botones e ingrese comentarios. Por último, en este tutorial, puede aplicar todos los trucos de selenio para crear bots para otros sitios web.

Lea también: Descargar historias de YouTube: cómo hacerlo fácilmente

Descripción general

El bot de Youtube que vamos a discutir simular ser un usuario normal. Por ejemplo, abrirá el navegador, iniciará sesión en youtube e ingresará cualquier término de búsqueda requerido. Luego, abrirá los videos resultantes para dejar un mensaje. Funcionará como un usuario normal.

Asegúrese de agregar pausas al escribir o hacer clic. Esto es muy crucial para replicar lo que haría un usuario. Cuando está ejecutando un bot de selenio contra un sitio de errores como Youtube, entonces es necesario simular el comportamiento humano para evitar ser detectado y prohibido.

La ventaja de usar un bot es que, a diferencia de los humanos, no te canses y seguire escribiendo mensajes. Puede continuar hasta que se detecte, así que pasemos al proceso de programación del bot para llevar a cabo esta tarea.

1: instalar selenio

En esta primera sección, instalaremos la biblioteca de selenio. Cuál es el primer paso para construir un bot de comentarios de Python en YouTube. Puede instalar fácilmente la biblioteca con la herramienta pip. Porque esta es una herramienta que administra todas las bibliotecas instaladas de Python.

Escriba el comando que se indica a continuación desde su terminal.

 pip install selenium

Para usar el selenio también necesita un controlador, que es un navegador. También puede utilizar un navegador que ya esté instalado o descargar un controlador. Le recomendamos que descargue un controlador para que no arruine la configuración de su navegador. Si desea descargar el navegador, puede descargarlo a través del enlace que figura a continuación.

Nota: debe asegurarse de recordar dónde guardó este archivo porque lo necesitará en los siguientes pasos.

2: Abra el sitio de YouTube

Ahora, una vez que haya instalado el selenio y descargado el archivo del controlador. Es hora de comenzar a agregar algo de código a su bot. En esto, el primer paso es abrir el sitio de YouTube: www.youtube.com. Para abrir YouTube con su bot, deberá crear una nueva secuencia de comandos de Python y agregar el código que se proporciona a continuación.

from selenium import webdriver

browser = webdriver.Chrome('./chromedriver')
browser.get("https://www.youtube.com")

Nota: Su controlador de cromo y su secuencia de comandos de python deben estar en la misma carpeta.

Recomendado:  En medio de la cobertura de tanques, PT Brussels continúa

3: Inicie sesión con un nombre de usuario y contraseña

Los siguientes son los pasos para iniciar sesión en YouTube. Es una tarea muy simple que consta de 5 pasos que se detallan a continuación.

  • En primer lugar, escribiendo tu correo electrónico
  • Entonces haciendo clic en siguiente
  • Después escriba la contraseña
  • Haga clic en Siguiente
  • Por último, haciendo clic en confirmaraunque este paso no siempre es necesario.

En el código que se proporciona a continuación, le proporcionaremos una función que llevará a cabo todas las acciones anteriores en nuestro navegador bot. Ahora pegaremos el código que se proporciona a continuación en nuestro script de bot entre la línea de importación, la primera línea y la línea 3.

Función .login_with_username_and_password()

def login_with_username_and_password(browser, username, password):
	
    # Type email
    email_input = browser.find_element_by_css_selector('input[type=email]')

    email = username
    for letter in email:
        email_input.send_keys(letter)
        wait_time = random.randint(0,1000)/1000
        time.sleep(wait_time)

    # Click next
    next_button = browser.find_elements_by_css_selector("button")
    time.sleep(2)
    next_button[2].click()
    time.sleep(2)

    # Type password
    password_input = browser.find_elements_by_css_selector('input[type=password]')
    password = password
    for letter in password:
        password_input.send_keys(letter)
        wait_time = random.randint(0,1000)/1000
        time.sleep(wait_time)
	
    # Click next
    next_button = browser.find_elements_by_css_selector("button")
    time.sleep(2)
    next_button[1].click()

    # Click Confirm
    confirm_button = browser.find_elements_by_css_selector("div[role=button]")
    time.sleep(2)
    if(len(confirm_button)>0):
        confirm_button[1].click()

Ahora, el código anterior ubicará primero los componentes de destino utilizando el selector de CSS.

En Selenium puedes hacerlo usando dos funciones:

  • navegador.find_elements_by_css_selector(”)
  • navegador.find_element_by_css_selector(”)

La principal diferencia entre los métodos anteriores es que el primer método devuelve una lista que contiene todos los elementos del documento DOM que coinciden con el selector CSS. Pero el segundo método solo devuelve un valor, el valor coincidente.

Ahora, una vez que haya ubicado nuestro componente de destino, podemos realizar varias tareas, como escribir, deslizar y hacer clic. Sin embargo, en este blog, usaremos principalmente hacer clic y escribir.

Para usar el clic usaremos el método .click():

next_button = browser.find_elements_by_css_selector("button")
next_button[2].click()

Para el tipo, usaremos el método .send_keys():

password_input = browser.find_elements_by_css_selector('input[type=password]')
password_input.send_keys("any string can go here")

4: Introduzca un término de búsqueda

Ahora hablemos sobre cómo ingresar un término de búsqueda en el cuadro de búsqueda. Para hacer eso, debe crear una función que esté pasando en el navegador y el término de búsqueda. También puede pegar esta función en su secuencia de comandos de python en la función anterior.

Recomendado:  Este pequeño televisor 4K QLED de 43 pulgadas se vende a un precio de super oferta

función .enter_search_term()

def enter_search_term(browser,search_term):
    # Enter text on the search term
    search_input = browser.find_element_by_id("search")
    for letter in search_term:
        search_input.send_keys(letter)
        wait_time = random.randint(0,1000)/1000
        time.sleep(wait_time)

    search_input.send_keys(Keys.ENTER)

Como discutimos en los pasos anteriores, primero ubicaremos el componente de entrada de búsqueda en el documento DOM. En este caso, usaremos el método .find_element_by_id(“buscar”) pasando como argumento el id del componente objetivo:

search_input = browser.find_element_by_id("search")

Luego ingrese el término de búsqueda, letra por letra usando el método .send_keys():

for letter in search_term:
	search_input.send_keys(letter)
    # Quick pause between letter to replicate human behavior
    wait_time = random.randint(0,1000)/1000
    time.sleep(wait_time)

5: Haga clic en un video

Ahora, una vez que haya ingresado el término de búsqueda, YouTube mostrará una lista de sugerencias de videos según nuestra búsqueda. Todo lo que necesita hacer es seleccionar uno de los videos y hacer clic. También puede seleccionar un video al azar o, alternativamente, seleccionar el primero y luego seguir el orden de la lista.

thumbnails = browser.find_elements_by_css_selector("ytd-video-renderer")

    for index in range(1,6):
        thumbnails[index].click()

En el código dado arriba, usamos el .find_elements_by_css_selector() método a través del cual podemos seleccionar todos los videos listados en la página. Y luego, comenzando por el primero, haga clic secuencialmente en cada video.

6: Introduzca un comentario

Ahora el paso más importante es ingresar un comentario. Después de que su navegador abra la página de video, puede insertar sus comentarios. Para ingresar comentarios, debe hacer lo siguiente.

  • En primer lugar, mover al campo de entrada de comentarios
  • Entonces hacer clic en el componente, por lo que obtiene el foco.
  • Después escribe nuestro comentario
  • Por último, presione el botón Botón “Comentario”

A través del código, definimos cómo realizar todas las acciones anteriores.

  • En primer lugar, encontrar el elemento de destino en el caso del campo de entrada de comentarios.
  • Luego, en el siguiente paso, agrupará las siguientes acciones como: escribir, hacer clic y moverse en una cadena de acción usando el Clase de cadenas de acción.
  • Por último, su bot hará clic en confirmar.

función .enter_comment()

from selenium.webdriver.common.action_chains import ActionChains

def enter_comment(browser, comment):
    comment_input = browser.find_element_by_css_selector("ytd-comment-simplebox-renderer")

    entering_comment_actions = ActionChains(browser)

    entering_comment_actions.move_to_element(comment_input)
    entering_comment_actions.click()

    for letter in comment:
        entering_comment_actions.send_keys(letter)
        wait_time = random.randint(0,1000)/1000
        entering_comment_actions.pause(wait_time)

    entering_comment_actions.perform()

    time.sleep(1)

    send_comment_button = browser.find_element_by_id("submit-button")
    send_comment_button.click()

Entonces, para imitar el comportamiento humano, ha insertado una pausa de un milisegundo después de escribir cada letra que puede ver (líneas 13 y 14).

Recomendado:  ¿Las Mac M3 llegarán este año? MacBook Pro, iMac y MÁS de Apple

7: volver

Ahora su bot abrió un video e ingresó un comentario. El siguiente proceso es volver a la lista de videos y luego hacer clic en el siguiente video. Esto lo podemos lograr fácilmente haciendo clic en el botón Atrás del navegador. Además, en Selenium puede visitar la página anterior utilizando el código que figura a continuación.

browser.execute_script("window.history.go(-1)")

Lo que hará este código es abrir la URL anterior en el historial del navegador.

8: Poniendo todo junto

Lo que hemos hecho hasta ahora es poner un código en nuestro script de bot que contiene funciones que iniciarán sesión automáticamente en YouTube. Ingrese un elemento de búsqueda en el cuadro de búsqueda y luego ingrese un comentario. Ahora el último paso es armarlo todo.

Ahora usaremos un código que usa todas las funciones creadas anteriormente y luego abriremos YouTube e iniciaremos sesión. Después de eso, puede usar un conjunto de términos de búsqueda y para cada término de búsqueda, ingrese su bot: Ingrese un término de búsqueda y luego salga un comentario sobre los primeros cinco videos enumerados. Entonces, por fin, cerrará el navegador. Además, puedes encontrar la .click_on_agree_and_signin() una función definida a continuación.

browser = webdriver.Chrome('./chromedriver')
browser.get("https://www.youtube.com")

# Click Agree and Sing In
click_on_agree_and_signin(browser)

# Sign In
login_with_username_and_password(browser, "your_username_here", "your_password_here")

all_search_terms =['make money online','online marketing']
for search_term in all_search_terms:
    enter_search_term(browser, search_term)
    time.sleep(2)

    thumbnails = browser.find_elements_by_css_selector("ytd-video-renderer")

    for index in range(1,6):
        thumbnails[index].click()
        time.sleep(6)

        enter_comment(browser,"your comment here")
        browser.execute_script("window.history.go(-1)")
        thumbnails = browser.find_elements_by_css_selector("ytd-video-renderer")


time.sleep(1)
browser.close()

Función .click_on_agree_and_signin()

def click_on_agree_and_signin(browser):
    agree_button= browser.find_element_by_css_selector('button')
    time.sleep(2)
    agree_button.click()

    signin_buttons= browser.find_elements_by_css_selector('yt-button-renderer')
    time.sleep(6) # Wait longer so the message pops up
    while(len(signin_buttons)== 0):
        signin_buttons= browser.find_elements_by_css_selector('yt-button-renderer')
        time.sleep(1)

    signin_buttons[1].click()

Conclusión:

Aquí hablamos sobre cómo construir un bot de comentarios de Youtube usando Selenium y Python. Cubrimos todos los pasos que realizará un bot desde su inicio de sesión, luego buscará un video y luego ingresará un comentario usando Selenium. Esperamos que esta información sea útil. Gracias por la lectura.