Traté de obtener este enlace de texto 'video_versions' de esta URL https://www.instagram.com/p/Cahc9hbr9Jp/ pero no muestra nada. Aquí está mi código
var c = document.createElement("html"); c.innerHTML = content; scripts = c.querySelectorAll('script'); script = scripts[scripts.length-2]; console.log(script.innerHTML.split('video_versions').pop());Esto se debe a que no está obteniendo la propiedad innerHTML del objeto del elemento del script, simplemente está devolviendo el objeto del elemento del DOM.
probar:
script = scripts[scripts.length-2].innerHTML;Aunque scriptElement.textContent es quizás más apropiado que scriptElement.innerHTML ambos parecen funcionar, si es que funcionan.
Sin embargo, solo recuperan el texto entre las etiquetas <script> de apertura y cierre presentes en la fuente HTML, por lo que solo son buenos para leer el contenido de los scripts en línea. La URL publicada no me parece el tipo de página con scripts en línea hechos a mano.
Si desea leer el texto del script obtenido por una etiqueta de script con un atributo src que especifica su URL, deberá repetir el proceso de obtención en JavaScript utilizando la API Fetch o XMLHttpRequest para la misma URL. El éxito de hacerlo depende de que la política de orígenes cruzados del servidor lo permita.