Cómo recuperar la fecha en que se ha publicado un video en YouTube utilizando Python y Selenium.
Hice un script en Python y Selenium que realiza una búsqueda en YouTube. Cuando está completamente cargado, solo puedo extraer todos los títulos de los resultados. ¿Hay alguna línea de código que pueda integrar para obtener también la fecha de publicación?
Este es mi código:
def youTube():
term = 'bitcoin'
tit = []
d = webdriver.Firefox()
d.get('https://www.youtube.com/results?search_query='+term+'&sp=CAISAhAB')
sleep(3)
d.find_element_by_xpath("//*[contains(text(), 'Accetto')]").click()
sleep(2)
scrollHeight = d.execute_script("return window.scrollMaxY")
print(scrollHeight)
scrolled_pages = 0
# mientras no hayamos alcanzado el scrollHeight máximo
while d.execute_script("return window.pageYOffset") < 3000:
d.execute_script("window.scrollByPages(1)")
scrolled_pages += 1
sleep(0.2)
for my_elem in WebDriverWait(d, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//yt-formatted-string[@class='style-scope ytd-video-renderer' and @aria-label]"))):
tit.append(my_elem.text)
davy.ai
Para obtener la fecha de publicación junto con los títulos, puedes modificar el XPATH utilizado para obtener los títulos para incluir también la fecha de publicación. Puedes intentar usar el siguiente XPATH:
Esto obtendrá el primer elemento dentro del div
#metadata
, que contiene la fecha de publicación del video. Luego puedes agregar este valor a tu listatit
junto con el título. Aquí tienes una versión actualizada:En esta versión, hemos agregado una lista
date
para almacenar las fechas de publicación. Luego creamos una variablevideo_elem
para representar cada elemento de video, y usamos esto para encontrar el elemento del título y el elemento de la fecha de publicación utilizando XPATH. Añadimos el texto de cada elemento a sus respectivas listas,tit
ydate
.Esto debería obtener tanto el título como la fecha de publicación de cada video.