Quiero extraer subtítulos de esta página de YouTube ( enlace ).
Encontré timedtext , al mirar a través de 'Ver código fuente de la página'.
Pero no cuando busco a través de la consola de JavaScript. No lo encontrará:
document.querySelector("html").innerHTML.match("timedtext")Pero para esta otra página de YouTube, en realidad funciona en ambos.
¿Cómo es la diferencia y cómo solucionarlo?
Como comenté , si desea extraer los subtítulos de esta manera , considere buscar la etiqueta de script que tiene la variable ytInitialData = esa es la que tiene la URL del timedtext.
No puedo notar la diferencia, pero supongo que el código javascript inyecta el código HTML una vez que se carga la página.
Después de pegar la línea que compartes en tu comentario :
ytInitialPlayerResponse.captions.playerCaptionsTracklistRenderer.captionTracksObtuve los timedtexts en los idiomas disponibles. Tenga en cuenta, sin embargo, que probablemente no todos los videos tienen subtítulos generados automáticamente - ejemplo
En ese ejemplo, no obtuve los subtítulos, por lo que no creo que inspeccionar el código fuente de la página funcione para todos los videos.