Para mi investigación, uso JavaScript para descargar datos de los principales comentarios de YouTube que se muestran a un usuario, es por eso que estoy usando datos de la interfaz de YouTube y no de la API de YouTube. Además del texto del comentario, la cantidad de Me gusta, etc., también me gustaría almacenar las imágenes de perfil de las personas que dejan comentarios. La etiqueta img se ve así:
<img id="img" class="style-scope yt-img-shadow" alt="name" height="40" width="40" src="https://yt3.ggpht.com/ytc/AKedOLSXk4DiR7nlvyuGiByOeaJmg4pH8Yt2FAqoVy73YQ=s48-ck-c0x00ffffff-no-rj"> El problema que estoy experimentando es que el atributo src no tiene una extensión al final, por lo que cuando intento descargar una imagen .jpg con el código que aparece a continuación, la imagen se abre en una nueva pestaña y el enlace de el atributo src se guarda como un archivo .jpg, que no se interpreta correctamente. También intenté agregar una extensión como .png o .jpg al final del enlace, pero no funcionó.
function downloadImage(imageSrc) { const link = document.createElement('a') link.href = imageSrc link.download = 'image.jpg' document.body.appendChild(link) link.click() document.body.removeChild(link) }Las soluciones que encontré hasta ahora:
Guardar archivo de imagen desde URL de imagen javascript html
¿Cómo ver la imagen de fondo completa de un canal de YouTube?
Desafortunadamente, no consideran el caso sin extensión en el atributo src cuando las imágenes deben guardarse automáticamente con JavaScript.