¿Cómo rastrear como recuentos de comentarios en videos de youtube?

Déjame dormir

Estoy tratando de hacer un corpus de comentarios en cierto video de youtube con selenium y BeautifulSoup. (No estoy tratando de usar la API de datos de Youtube, debido al límite).

y casi lo hago, pero podría haber obtenido el resultado con solo comentarios e identificadores ...

Revisé el espacio que contiene la información de recuentos similares y luego lo ingresé en mi código, de todos modos va bien, pero no recupera el resultado, no me da nada ... no sé por qué ... ..

import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import pandas as pd 
import re
from collections import Counter
from konlpy.tag import Twitter

options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(executable_path='C:\chrome\chromedriver_win32\chromedriver.exe', options=options)
url = 'https://www.youtube.com/watch?v=D4pxIxGdR_M&t=2s'
driver.get(url)
driver.implicitly_wait(10)

SCROLL_PAUSE_TIME = 3

# Get scroll height
last_height = driver.execute_script("return document.documentElement.scrollHeight")

while True:
    # Scroll down to bottom
    driver.execute_script("window.scrollTo(0, document.documentElement.scrollHeight);")

    # Wait to load page
    time.sleep(SCROLL_PAUSE_TIME)

    # Calculate new scroll height and compare with last scroll height
    new_height = driver.execute_script("return document.documentElement.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

html_source = driver.page_source

driver.close()

soup = BeautifulSoup(html_source, 'lxml')

ids = soup.select('div#header-author > a > span')

comments = soup.select('div#content > yt-formatted-string#content-text')

likes = soup.select('ytd-comment-action-buttons-renderer#action-buttos > div#tollbar > span#vote-count-middle')

print('ID :', len(ids), 'Comments : ', len(comments), 'Likes : ' ,len(likes))

y 0 se acaba de imprimir ... he buscado algunas de las formas de lidiar con eso, pero la mayoría de las respuestas fueron solo para hacerme usar la API.

JM Arnold

En realidad, no usaría BeautifulSoup para la extracción, solo vaya con las herramientas de selenio integradas, es decir:

ids = driver.find_elements_by_xpath('//*[@id="author-text"]/span')
comments = driver.find_elements_by_xpath('//*[@id="content-text"]')
likes = driver.find_elements_by_xpath('//*[@id="vote-count-middle"]')

De esta manera, aún puede usarlos len()debido a que son iterables. También puede iterar sobre la variable likesy obtener el .textvalor para sumarlos:

total_likes = 0
for like in likes:
    total_likes += int(like.text)

Para obtener esto más pitónico, también podría ir con una lista de comprensión adecuada.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

¿Cómo obtener recuentos de usuarios tanto para publicaciones como para comentarios, por determinadas etiquetas?

¿Cómo buscar videos de youtube en youtube.com?

Habilitar y deshabilitar comentarios en videos de youtube a través de api

¿Cómo convertir videos de iframe de youtube en lienzo?

Raspado de comentarios de Youtube en R

¿Cómo almacenar en caché los videos de YouTube?

¿Cómo reproducir videos de youtube en UIWebView silenciado?

cómo mostrar diferentes videos de youtube en un iframe

PHP: ¿cómo podemos hacer que las vistas y los comentarios de Youtube cuenten junto con la lista de videos a través de las API de Youtube?

Cómo enfocarse / hacer clic en el cuadro de comentarios de YouTube con JS (DOM)

Cómo enfocarse / hacer clic en el cuadro de comentarios de YouTube con JS (DOM)

¿Cómo puedo obtener videos de Youtube después de buscar en la API de Youtube?

Cómo deshabilitar los comentarios en la API de YouTube v3

¿Cómo raspar los comentarios de youtube con selenio en python?

En Python / Selenium, ¿cómo rastrear todo el comentario de youtube?

ReferenceError: YouTube no está definido / inserta comentarios de YouTube en una hoja de cálculo

ReferenceError: YouTube no está definido / inserta comentarios de YouTube en una hoja de cálculo

Cómo descargar videos de youtube en el directorio de trabajo actual con youtube-dl

¿Cómo descargar subtítulos de videos de YouTube en inglés usando youtube-dl?

¿Cómo escuchar nuevos videos de YouTube?

Cómo simular usuarios en archivos .csv como recuentos de subprocesos en jmeter

Cómo obtener la URL de descarga de videos de transmisión en vivo en youtube

¿Cómo resumir los recuentos como un porcentaje en lugar de valores absolutos?

¿Cómo representar grupos de recuentos y sumas como columnas en una vista SQL?

¿Cómo reproducir videos de transmisión en vivo de Youtube en la aplicación?

Cómo obtener una lista de videos de la categoría en la API de YouTube

Cómo obtener recuentos de cuadros de texto en javascript

¿Cómo puedo reflejar la transmisión en vivo de videos de youtube?

¿Cómo buscar videos de YouTube en un subconjunto específico de canales?

TOP Lista

CalienteEtiquetas

Archivo