Yo soy muy de leer. Por eso prefiero los cursos en texto que en vídeo, me da igual el formato -Word, PDF o HTML- eso sí.
También soy muy celoso de la formación que compro. Me gusta tenerla ordenada y en la nube para poder acceder a ella cómo y cuándo quiera. Por eso, cuando un curso está solamente en modalidad online, trato de descargar el material y guardarlo en mi equipo.
Así tengo una nube en Mega con 37GB de formación.
Y es que, de no hacerlo así, cuando quiero ver un curso online que compré hace algún año -quizá te sorprenda que siga volviendo a ver formaciones compradas hace más de diez años que siguen totalmente vigentes- tendría que acordarme de a quién se lo compré, de la URL, del usuario y contraseña…
Además de confiar en que el curso siga almacenado en ese servidor y no haya sufrido su eliminación o alguna migración de dominio.
Muchas variables que no controlo.
Total, que me siento más cómodo con el material en mi equipo.
Entonces, hay varias formas de guardarlo en tu equipo:
- Descargando el HTML página por página.
- Copiando el contenido de las lecciones y pegando en un Word.
- Con extensiones que te lo transforman en formato markdown.
Y alguna más que luego te explico.
Hay casos más sencillos y otros más complejos. Por eso te cuento varias soluciones y, al final, la definitiva para el caso más complicado, cuando:
- Hay muchas URLs.
- Hace falta login.
- Los enlaces tienen que apuntar al contenido descargado y no al servidor actual.
Por cierto, esto aplica a cursos cuyo contenido principal es texto e imágenes, con enlaces. La solución final no es válida para cursos en vídeo.
Un apunte más: esta solución no solo aplica a cursos.
Un caso de uso relativamente nuevo en el que aplico lo mismo es cuando quiero pasarle la documentación sobre lo que sea a una IA como NotebookLM para hacerle preguntas directamente. Es muchísimo más cómodo esto que bucear tú mismo entre las URLs buscando lo que sea.
Si has probado a navegar en la documentación de Google Analytics para desarrolladores o la de Google Cloud sabrás a lo que me refiero.
Índice de Contenidos del Artículo
- Los problemas principales: muchas lecciones, login y enlaces
- Opciones para guardar el curso en tu equipo
- Paso a paso para guardar un curso online en tu equipo
- Paso 1: instalar Tampermonkey
- Paso 2: crear el script
- Paso 3: abrir la página índice del curso online
- Paso 4: comprobar que aparece el panel
- Paso 5: borrar estado antes de probar
- Paso 5: probar con 3 lecciones
- Paso 6: ejecutar la captura completa
- Paso 7 (opcional): pasar el contenido a Word
- Paso 7 (opcional): pasar el contenido a PDF
- Límites de esta solución
- Conclusión
- Preguntas frecuentes
- ¿Para qué sirve guardar un curso online en el PC?
- ¿Qué formatos se pueden conseguir al guardar un curso online?
- ¿Esta solución sirve para cualquier curso online?
- ¿Cuál es el problema de guardar un curso página por página?
- ¿Sirve la opción “Guardar como” del navegador?
- ¿SingleFile es una buena opción para guardar cursos online?
- ¿Qué ventaja tiene convertir una lección a Markdown?
- ¿Se puede hacer con un script desde la consola del navegador?
- ¿Por qué Tampermonkey es la solución más robusta?
- ¿Hay que saber programar para usar Tampermonkey?
- ¿Qué contenedor HTML hay que capturar en una lección?
- ¿Qué hago si no aparece el panel de Tampermonkey?
- ¿Por qué conviene probar primero con solo tres lecciones?
- ¿Qué pasa con las imágenes en el HTML generado?
- ¿Por qué pasar el HTML a Word?
- ¿Por qué pasar después el Word a PDF?
- ¿Cuál es el mejor formato final para conservar un curso?
- ¿Puedo usar este sistema para pasar documentación a NotebookLM u otra IA?
- ¿Este método descarga vídeos del curso?
- ¿Es legal guardar un curso online en local?
- ¿Qué método elegir según el caso?
Los problemas principales: muchas lecciones, login y enlaces
Los cursos suelen estar montados como una colección de lecciones online. Cada lección tiene una URL propia, más o menos con esta estructura:
https://www.ejemplo.com/view/courses/nombre-del-curso/seccion/leccion
La plataforma suele mostrar un índice lateral con las lecciones, que permite navegar entre ellas.
Mi objetivo es conseguir algo igual en local:
curso/
├ index.html
├ 01-introduccion.html
├ 02-que-es-la-herramienta.html
├ 03-casos-de-uso.html
└ ...
O, mejor todavía, un único HTML con todo el curso, en plan curso-local.html.
Con índice interno, enlaces por anclas que me permitan navegar con facilidad y todo el contenido de las lecciones seguido, como si fuera un PDF.
A continuación, las posibles soluciones.
Opciones para guardar el curso en tu equipo
Nos encontramos varias posibilidades, con distinto grado de complejidad y orientadas a casuísticas diferentes (más o menos URLs, necesidad de login o no, guardas las imágenes o mantener los enlaces al servidor actual…).
Te las explico empezando por la más básica hasta la más compleja.
La primera vía es la más obvia:
Archivo > Guardar como > Página web completa
Esto descarga la página HTML y una carpeta con recursos asociados: CSS, imágenes, scripts, fuentes, etc.
El problema es que este método funciona razonablemente bien para páginas simples con pocas URLs, pero no para cursos grandes. Porque, además del tiempo empleado en descargarme las 80 URL una por una, se dan otras complicaciones:
- Los enlaces internos siguen apuntando a la URL online.
- Cada página genera su propia carpeta de recursos.
- El contenido realmente útil es muy pequeño frente al tamaño total del HTML.
- La navegación local entre lecciones no queda resuelta (hay que tirar de scripts posteriores).
- Hay demasiado contenido innecesario: cabecera, menús, footer, scripts, píxeles, estilos, chat, recursos externos, etc.
Es decir, técnicamente se podía guardar “la página”, pero esto no generaba una versión útil del curso.
Esta vía sirve mejor para guardar webs sencilas, que cursos.
#2. SingleFile
Puedes usar una extensión tipo SingleFile, que guarda una página web completa dentro de un único archivo HTML. A priori parece una buena solución porque evita la clásica carpeta de recursos que crea el navegador.
El resultado suele ser mejor en apariencia, pero muchas veces tampoco resuelve el problema.
Primero porque el archivo generado puede pesar varios cientos de megas debido a que dentro del HTML se guardan fuentes incrustadas, estilos enormes y mucho código que no formaba parte del contenido del curso.
Además, cuando el contenido se genera dinámicamente (web hecha con frameworks de JS, como VUE o React) la extensión no es capaz de recogerlo.
Y encima, los mismos problemas de fondo de la solución anterior continúan:
- Los enlaces seguían apuntando a la web online.
- Se guardaba una copia pesada de la página.
- No se generaba una estructura local navegable.
- No era práctico repetirlo para 70, 80 o 90 lecciones.
Entonces, queda claro que SingleFile sirve para guardar una página aislada, pero no para transformar un curso entero en una versión local limpia.
#3. Usar una extensión de Markdown
La siguiente opción es usar una extensión tipo MarkDownload, pensada para convertir una página web a Markdown.
El enfoque tiene sentido si quieres:
- Extraer solo el texto.
- Eliminar diseño innecesario.
- Generar archivos ligeros.
- Para unirlos luego en un documento o en un HTML local.
El problema es que, de momento, la extensión no está disponible en Chrome Web Store.
Hay extensiones alternativas, pero la que yo he usado anteriormente era ésta, así que te cuento la idea y dejo que seas tú el que investigue otras opciones similares.
#4. Script en consola
La siguiente vía es crear un pequeño script desde la consola del navegador.
Hay dos vías, el enfoque de la primera es:
- Abrir la página índice del curso.
- Leer todos los enlaces de las lecciones.
- Hacer fetch() de cada URL.
- Extraer el contenido.
- Generar un único HTML local.
Si no programas, ChatGPT te genera el script sin problema.
Lo bueno es que esto permite automatizar el proceso una vez te has logueado, pero es probable que la política de seguridad de la página lo prohíba.
Puedes probar otro enfoque, también desde la consola:
- Abrir una ventana nueva.
- Navegar a cada lección como lo haría el usuario.
- Esperar a que cargara.
- Leer el DOM de esa ventana.
- Extraer el contenido.
El problema que te puedes encontrar aquí en páginas dinámicas es que el navegador no siempre permite controlar bien esa ventana, leer su contenido o detectar cuándo estaba realmente cargada.
Ninguna de las dos fórmulas es una solución robusta, pero te las cuento porque las he usado en ciertos momentos y te pueden servir. Aunque te diría que mejor pases a la siguiente.
#6. Tampermonkey
A priori la más compleja, ya que requiere:
- Instalar una extensión.
- Generar un script.
- Que se ejecute dentro de cada URL.
Pero Tampermonkey lo facilita bastante, ya que permite cargar un script propio automáticamente cuando visitas determinadas URLs.
Aquí el propio navegador va entrando en cada lección y el script se ejecuta dentro de la página cargada.
El flujo es:
- Página índice.
- Tampermonkey recoge enlaces.
- Navega a lección 1.
- Captura contenido visible.
- Guarda estado en localStorage.
- Navega a lección 2.
- Captura contenido.
- …
- Genera HTML final.
Esto tiene muchas más posibilidades de funcionar siempre.
La clave es encontrar el contenedor real del contenido del curso, lo que se consigue inspeccionando la URL de una lección para localizar qué bloque HTML contenía el contenido útil.
Suele ser .main-content o #lesson-content o algo así. Depende de cómo esté maquetada la web del curso.
Una vez que lo has detectado, creas un script que haga lo siguiente:
- Ejecutarse solo en las URLs del curso.
- Añadir un pequeño panel flotante con botones (opcional).
- Recoger los enlaces de las lecciones desde el índice del curso.
- Guardar esos enlaces en localStorage.
- Navegar automáticamente por cada lección.
- Esperar a que exista #lesson-content.
- Clonar ese bloque.
- Limpiar scripts, estilos, botones, iframes y atributos innecesarios.
- Convertir imágenes y enlaces a URLs absolutas.
- Guardar cada lección capturada en localStorage.
- Al terminar, generar un único archivo HTML descargable.
El resultado buscado era un archivo como el que comentábamos en la intro curso-local.html.
Por cierto, que no hace falta que sepas programar. Ni tan siguiera HTML. Le pides el script a ChatGPT y lo hace por ti (así lo hice yo).
Lo importante es que conozcas la fórmula y entiendas su funcionamiento por encima, pero el código en sí te lo genera la IA.
Paso a paso para guardar un curso online en tu equipo
Éste es el paso a paso explicado.
Paso 1: instalar Tampermonkey
Lo primero es instalar Tampermonkey.
En Chrome, por las restricciones actuales, puede ser necesario:
- Instalar la extensión.
- Entrar en chrome://extensions/.
- Activar el modo desarrollador (interruptor de arriba a la derecha).
- Permitir la ejecución de scripts de usuario.
- Dar permiso a la extensión para ejecutarse en la web del curso.
Esto es importante porque, si Tampermonkey no tiene permisos, el panel no aparece aunque el script esté bien.
Paso 2: crear el script
En Tampermonkey:
Dashboard > Create a new script
Se borra el contenido inicial y creas tu script.
Aquí te dejo el script que me generó ChatGPT a mí, por si eres desarrollador y quieres echarle un vistazo, adaptarlo o probarlo para tu caso. Acuérdate de cambiar la URL del curso:
Paso 3: abrir la página índice del curso online
Hay que entrar en la página inicial del curso. Si requiere login, inicia sesión primero y entra a la portada.
Paso 4: comprobar que aparece el panel
En el caso de que uses el script que te he Al cargar la página del curso debería aparecer un panel negro arriba a la derecha con tres botones:
- Test 3
- Todo
- Borrar estado
Si no aparece, hay que revisar:
- Que Tampermonkey esté activado.
- Que el script esté habilitado.
- Que el @match coincida con la URL del curso.
- Que la extensión tenga permisos para esa web.
Paso 5: borrar estado antes de probar
Antes de cualquier prueba, conviene pulsar el botón de Borrar estado.
Esto limpia capturas anteriores almacenadas en localStorage.
Es importante porque, durante las pruebas, pueden quedar estados antiguos que generen archivos incompletos o duplicados.
Paso 5: probar con 3 lecciones
Tras borrar estado, pulsa el botón de Test 3.
No conviene lanzar el scraper para el curso completo de primeras.
El script recorrerá tres lecciones y descargará un archivo HTML.
Ábrelo y comprueba:
- Que el índice tiene tres lecciones.
- Que los títulos son correctos.
- Que el contenido empieza con el texto real de la lección.
- Que no captura footer.
- Que no aparecen bloques vacíos.
Paso 6: ejecutar la captura completa
Si el test funciona ya está todo listo. Solo tienes que:
- Volver a abrir la página índice online.
- Pulsar Borrar estado.
- Pulsar Todo.
- Dejar que el navegador navegue solo.
- No cerrar la pestaña.
- Esperar a que descargue el HTML final.
Y ya se te habrá generado un archivo en HTML en local estupendo, que comprime todo el curso en unos pocos kilobytes.
Ahora bien, el pesar tan poco tiene trampa. Y es que, las imágenes están enlazadas al servidor original, no se han descargado en tu PC. Y eso quiere decir que en algún momento puede cambiar su URL o ser eliminadas, con la consecuencia para ti de que no las podrás ver.
Podrías ir una a una descargándolas y cambiando la URL en el HTML, pero creo que tiene poco sentido. Por eso, para mí, hay un paso (opcional) siguiente.
Paso 7 (opcional): pasar el contenido a Word
Hablo de Word pero puedes hacerlo en un Doc de Google si lo prefieres. Cuestión de flujo de trabajo.
En cualquier caso, este paso es muy sencillo, ya que solo tienes que:
- Abrir el HTML con el navegador.
- Seleccionar todo el contenido (ctrl+a en Windows).
- Copiarlo (ctrl+c).
- Pegarlo (ctrl+v) en un archivo nuevo de Windows. Es posible que se tome unos segundos en función del tamaño del curso.
- Guardarlo.
Ahora las imágenes se habrán pegado dentro del archivo de Word y ya serán tuyas.
La contrapartida es que el archivo ya no pesará unos pocos kilobytes, sino que serán megas. Y puede que muchos: en mi último curso 181MB. Y es que son 136 páginas con varios pantallazos. Poca broma.
Ahora bien, hay una solución a esto. Sigue leyendo.
Paso 7 (opcional): pasar el contenido a PDF
Éste es todavía más sencillo que el anterior, pero tiene truco. Tienes que:
- Abrir el archivo en Word.
- Darle a “Guardar cómo”.
- Elegir PDF.
- En las opciones que te salen, seleccionar “Tamaño mínimo (publicación en línea):

Voila!
De 181 pasa a 2MB, nada pero nada mal.
Sí, las imágenes pierden un poco de calidad, pero cumplen sobradamente el objetivo de la formación.
Con esto tendremos un PDF que pesa muy poco, con el curso completo, con imágenes y enlaces en nuestro PC, o en nuestra nube de formación, si lo preferimos (y deberías preferirlo).
Límites de esta solución
Esta solución sirve para cursos o documentación en HTML cuyo contenido es principalmente texto, imágenes y enlaces.
No sirve para:
- Descargar vídeos protegidos.
- Capturar contenidos servidos por DRM.
- Guardar reproductores embebidos.
- Saltarse pagos o restricciones de acceso.
- Conservar al 100% el diseño original de la plataforma.
- Descargar archivos adjuntos que exijan permisos adicionales.
Si el curso incluye vídeos embebidos en Cloudflare Stream, Vimeo, Wistia u otros reproductores protegidos, el script puede conservar el hueco o el enlace, pero no descargará el vídeo. Son cosas diferentes.
Conclusión
Si quieres o necesitas guardar un curso en local para tenerlo siempre a mano, o una documentación completa para pasársela a una IA y preguntarle, tienes varias opciones.
Pero si la fuente require login, y cuenta con varias decenas o centenas de URLs el sistema con Tampermonkey es el mejor.
Si son menos de diez URL y no te quieres complicar, puedes probar con las otras soluciones que te comento.
He probado muchos sistemas a lo largo de mi vida -automáticos y manuales- y ninguno es tan rápido y automático como éste.
Por lo menos hasta que los agentes de IA lo hagan por ti. Gratis, claro.
Por pedir, que no quede.
Preguntas frecuentes
¿Para qué sirve guardar un curso online en el PC?
Sirve para conservar una copia local de un curso al que ya tienes acceso y poder consultarlo más adelante sin depender de la web, del login, del servidor o de que la plataforma siga existiendo.
¿Qué formatos se pueden conseguir al guardar un curso online?
Puedes guardarlo en HTML, Word o PDF. El HTML es ligero y navegable, Word permite editar y conservar imágenes, y PDF es cómodo para guardar y consultar.
¿Esta solución sirve para cualquier curso online?
No. Funciona bien con cursos basados en texto, imágenes y enlaces, pero no sirve para descargar vídeos protegidos, DRM, reproductores embebidos ni contenidos sin permiso.
¿Cuál es el problema de guardar un curso página por página?
Que es lento, desordenado y poco práctico: los enlaces siguen apuntando a la web online, se generan carpetas de recursos y no queda una navegación local limpia.
Sirve para páginas simples o URLs aisladas, pero se queda corta para cursos grandes con muchas lecciones, login, índice lateral y enlaces internos.
¿SingleFile es una buena opción para guardar cursos online?
SingleFile puede guardar una página completa en un único HTML, pero no suele resolver bien cursos enteros porque genera archivos pesados y no crea una estructura local navegable.
¿Qué ventaja tiene convertir una lección a Markdown?
Markdown permite extraer texto limpio y ligero, eliminando diseño innecesario, pero depende mucho de la extensión usada y de cómo esté construida la web.
Sí, pero no siempre funciona. Muchas plataformas bloquean fetch, ventanas externas o lecturas entre páginas por seguridad, sobre todo si hay login o contenido dinámico.
¿Por qué Tampermonkey es la solución más robusta?
Porque el script se ejecuta dentro de cada página real del curso, captura el contenido visible, guarda el avance y genera un HTML final con todas las lecciones.
¿Hay que saber programar para usar Tampermonkey?
No necesariamente. Puedes pedir el script a ChatGPT, pero sí necesitas saber probarlo, ajustar la URL del curso y localizar el contenedor correcto del contenido.
¿Qué contenedor HTML hay que capturar en una lección?
Depende de la plataforma, pero suele ser algo como .main-content, #lesson-content o el bloque que contenga realmente el texto e imágenes de la lección.
¿Qué hago si no aparece el panel de Tampermonkey?
Revisa que Tampermonkey esté activo, que el script esté habilitado, que el @match coincida con la URL y que la extensión tenga permisos en esa web.
¿Por qué conviene probar primero con solo tres lecciones?
Porque así compruebas si captura el contenido correcto, si los títulos salen bien y si no se cuelan menús, footers o bloques vacíos antes de lanzar todo el curso.
¿Qué pasa con las imágenes en el HTML generado?
Normalmente quedan enlazadas al servidor original, por eso el archivo pesa poco, pero si esas imágenes cambian o desaparecen, dejarán de verse en tu copia local.
¿Por qué pasar el HTML a Word?
Porque al copiar el HTML y pegarlo en Word, las imágenes pueden quedar dentro del documento, haciendo el archivo más pesado pero también más independiente.
¿Por qué pasar después el Word a PDF?
Porque el PDF permite reducir mucho el peso final del archivo, especialmente si eliges la opción de tamaño mínimo para publicación online.
¿Cuál es el mejor formato final para conservar un curso?
Para editar, Word. Para navegar ligero, HTML. Para guardar, consultar y subir a una nube de formación, normalmente PDF.
¿Puedo usar este sistema para pasar documentación a NotebookLM u otra IA?
Sí. Puedes convertir una documentación larga en HTML, Word o PDF y subirla a una IA para hacer preguntas sin tener que revisar URL por URL.
¿Este método descarga vídeos del curso?
No. Puede conservar enlaces o huecos de reproductores, pero no descarga vídeos de plataformas como Vimeo, Wistia, Cloudflare Stream o similares.
¿Es legal guardar un curso online en local?
Depende de las condiciones del curso. Tiene sentido para uso personal con contenido al que ya tienes acceso, no para saltarse pagos, romper protecciones o redistribuir material.
¿Qué método elegir según el caso?
Para pocas páginas, “Guardar como” o SingleFile pueden valer; para texto limpio, Markdown; para cursos grandes con login y muchas lecciones, Tampermonkey.

Deja una respuesta