es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obteniendo los títulos de las listas de reproducción y los nombres de los canales de YouTube desde HTML utilizando un fragmento de JavaScript en la Consola de Herramientas de Desarrollo.

Quiero los títulos y nombres de canal de las listas de reproducción de YouTube con fines de respaldo. Encontré este fragmento en línea que hace la mitad del trabajo, extrayendo la información de la página HTML de la lista de reproducción utilizando JavaScript en las Herramientas de desarrollo.

console.log(Array.from(document.querySelectorAll(‘.ytd-playlist-video-list-renderer #video-title’)).map((el) => {return el.textContent.trim()}).sort().join(“\n”))

Esto filtra todos los títulos de los videos y puedo copiarlo en un archivo de texto. El problema es que me gustaría que el nombre del canal también se incluya en cada entrada, pero no sé cómo hacerlo.

Actualmente se ve así:

[Título del video 1]

[Título del video 2]

Quiero que se vea algo como esto:

[Título del video 1] por [Nombre del Canal 1]

[Título del video 2] por [Nombre del Canal 2]

¿Alguien sabe cómo modificar el fragmento para lograr esto?

Aquí hay una lista de reproducción de muestra de 16 videos para probar: https://www.youtube.com/playlist?list=PLTHOlLMWEwVy2ZNmdrwRlRlVfZ8fiR_ms

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para extraer los títulos de los videos y los nombres de los canales de las listas de reproducción de YouTube con fines de respaldo, puedes utilizar el siguiente código JavaScript en las Herramientas de Desarrollo:

    console.log(Array.from(document.querySelectorAll('.ytd-playlist-video-list-renderer #video-title')).map((el) => {return el.textContent.trim() + ' de ' + el.nextElementSibling.firstElementChild.textContent.trim()}).sort().join("\n"))
    

    Este código utiliza el mismo método que antes para extraer los títulos de los videos, pero también accede al nextElementSibling de cada elemento #video-title para obtener el nombre del canal.

    La salida resultante se verá así:

    [Título del Video 1] de [Nombre del Canal 1]
    [Título del Video 2] de [Nombre del Canal 2]
    ...
    

    Simplemente reemplaza el enlace de la lista de reproducción en el código para extraer los títulos de los videos y los nombres de los canales de la lista de reproducción deseada.

Comments are closed.