Quiero crear una extensión de Chrome y necesito obtener los detalles de la música que se reproduce en YouTube Music. ¿Hay alguna forma de hacerlo (tal vez usando JS para obtener el nombre de la música o lo que sea)? Cualquier tipo de ayuda se agradece
Puede ejecutar secuencias de comandos de contenido en el sitio web y la aplicación de Youtube Music y analizar el HTML para obtener la información que necesita. Aquí hay un script rápido con código perezoso. Obviamente, debería hacer mejor la detección y el manejo de errores.
Manifiesto:
{ "manifest_version": 3, "name": "Youtube Music Info", "version": "1.0", "description": "Gets information from YT Music.", "content_scripts": [ { "matches": [ "https://music.youtube.com/*" ], "js": [ "content.js" ], "all_frames": false, "run_at": "document_start" } ] }Guión de contenido:
let ytmusicPlayerBar let waitForPlayerBarInterval = setInterval(() => { if (document.querySelector("ytmusic-player-bar")) { ytmusicPlayerBar = document.querySelector("ytmusic-player-bar") clearInterval(waitForPlayerBarInterval) getInfo() } }, 1000) function getInfo() { let getInfoInterval = setInterval(() => { if (ytmusicPlayerBar.querySelector(".title").innerText) { let info = { song: ytmusicPlayerBar.querySelector(".title").innerText, artist: ytmusicPlayerBar.querySelectorAll("a")[0].innerText, albumName: ytmusicPlayerBar.querySelectorAll("a")[1].innerText, albumCover: ytmusicPlayerBar.querySelector(".image").src, time: ytmusicPlayerBar.querySelector(".time-info").innerText } console.log(info) } else { console.log("Nothing is playing.") } }, 1000) }