Io sono molto da lettura. Per questo preferisco i corsi in formato testo a quelli in video, mi va bene qualunque formato — Word, PDF o HTML — sia chiaro.
Sono anche molto geloso della formazione che compro. Mi piace tenerla ordinata e nel cloud per potervi accedere come e quando voglio. Per questo, quando un corso è solo online, cerco di scaricare il materiale e salvarlo sul mio computer.
Così ho un cloud su Mega con 37GB di formazione.
Il fatto è che, se non lo facessi così, quando voglio rivedere un corso online che ho comprato qualche anno fa — forse ti sorprende che torni ancora a guardare corsi comprati più di dieci anni fa e ancora del tutto validi — dovrei ricordarmi da chi l’ho comprato, l’URL, utente e password…
Oltre a confidare che il corso sia ancora salvato su quel server e non sia stato eliminato o spostato su un altro dominio.
Troppe variabili che non controllo.
Insomma, mi sento più tranquillo con il materiale sul mio computer.
Quindi ci sono diversi modi per salvarlo sul tuo computer:
- Scaricando l’HTML pagina per pagina.
- Copiando il contenuto delle lezioni e incollandolo in Word.
- Con estensioni che lo trasformano in formato markdown.
E qualcun altro che ti spiego dopo.
Ci sono casi più semplici e altri più complessi. Per questo ti racconto varie soluzioni e, alla fine, quella definitiva per il caso più complicato, quando:
- Ci sono molte URL.
- Serve il login.
- I link devono puntare al contenuto scaricato e non al server attuale.
A proposito, questo vale per corsi il cui contenuto principale è testo e immagini, con link. La soluzione finale non è valida per corsi in video.
Un’ultima nota: questa soluzione non si applica solo ai corsi.
Un caso d’uso relativamente nuovo in cui applico la stessa cosa è quando voglio passare documentazione su qualunque cosa a una IA come NotebookLM per farle domande direttamente. È molto più comodo che immergersi da soli tra le URL cercando quello che serve.
Se hai provato a navigare nella documentazione di Google Analytics per sviluppatori o in quella di Google Cloud, sai a cosa mi riferisco.
Índice de Contenidos del Artículo
- I problemi principali: molte lezioni, login e link
- Opzioni per salvare il corso sul tuo computer
- Passo dopo passo per salvare un corso online sul tuo computer
- Passo 1: installare Tampermonkey
- Passo 2: creare lo script
- Passo 3: aprire la pagina indice del corso online
- Passo 4: verificare che appaia il pannello
- Passo 5: cancellare lo stato prima di provare
- Passo 5: provare con 3 lezioni
- Passo 6: eseguire la cattura completa
- Passo 7 (opzionale): portare il contenuto in Word
- Passo 7 (opzionale): portare il contenuto in PDF
- Limiti di questa soluzione
- Conclusione
- Domande frequenti
- A cosa serve salvare un corso online sul PC?
- Quali formati si possono ottenere salvando un corso online?
- Questa soluzione va bene per qualunque corso online?
- Qual è il problema di salvare un corso pagina per pagina?
- Serve l’opzione “Salva con nome” del browser?
- SingleFile è una buona opzione per salvare corsi online?
- Che vantaggio ha convertire una lezione in Markdown?
- Si può fare con uno script dalla console del browser?
- Perché Tampermonkey è la soluzione più robusta?
- Bisogna saper programmare per usare Tampermonkey?
- Quale contenitore HTML bisogna catturare in una lezione?
- Cosa faccio se il pannello di Tampermonkey non appare?
- Perché conviene provare prima con solo tre lezioni?
- Che succede alle immagini nell’HTML generato?
- Perché passare l’HTML a Word?
- Perché poi passare il Word a PDF?
- Qual è il miglior formato finale per conservare un corso?
- Posso usare questo sistema per passare documentazione a NotebookLM o a un’altra IA?
- Questo metodo scarica video del corso?
- È legale salvare un corso online in locale?
- Che metodo scegliere in base al caso?
I problemi principali: molte lezioni, login e link
I corsi di solito sono montati come una raccolta di lezioni online. Ogni lezione ha una propria URL, più o meno con questa struttura:
https://www.ejemplo.com/view/courses/nombre-del-curso/seccion/leccion
La piattaforma di solito mostra un indice laterale con le lezioni, che permette di navigare tra loro.
Il mio obiettivo è ottenere qualcosa di uguale in locale:
curso/
├ index.html
├ 01-introduccion.html
├ 02-que-es-la-herramienta.html
├ 03-casos-de-uso.html
└ ...
O, meglio ancora, un unico HTML con tutto il corso, tipo curso-local.html.
Con indice interno, link ad ancore che mi permettano di navigare facilmente e tutto il contenuto delle lezioni di seguito, come se fosse un PDF.
Di seguito, le possibili soluzioni.
Opzioni per salvare il corso sul tuo computer
Ci troviamo davanti varie possibilità, con diverso grado di complessità e orientate a casistiche diverse (più o meno URL, necessità di login o no, salvare le immagini o mantenere i link al server attuale…).
Te le spiego partendo dalla più basilare fino alla più complessa.
#1. “Salva con nome” dal browser
La prima via è la più ovvia:
File > Salva con nome > Pagina web completa
Questo scarica la pagina HTML e una cartella con risorse associate: CSS, immagini, script, font, ecc.
Il problema è che questo metodo funziona abbastanza bene per pagine semplici con poche URL, ma non per corsi grandi. Perché, oltre al tempo impiegato a scaricare le 80 URL una per una, si presentano altre complicazioni:
- I link interni continuano a puntare alla URL online.
- Ogni pagina genera la propria cartella di risorse.
- Il contenuto davvero utile è molto piccolo rispetto alla dimensione totale dell’HTML.
- La navigazione locale tra lezioni non resta risolta (bisogna ricorrere a script successivi).
- C’è troppo contenuto inutile: header, menu, footer, script, pixel, stili, chat, risorse esterne, ecc.
Cioè, tecnicamente si poteva salvare “la pagina”, ma questo non generava una versione utile del corso.
Questa via serve meglio per salvare siti semplici che corsi.
#2. SingleFile
Puoi usare un’estensione tipo SingleFile, che salva una pagina web completa dentro un unico file HTML. A priori sembra una buona soluzione perché evita la classica cartella di risorse creata dal browser.
Il risultato di solito è migliore nell’aspetto, ma molte volte non risolve comunque il problema.
Primo, perché il file generato può pesare diverse centinaia di mega dato che dentro l’HTML vengono salvati font incorporati, stili enormi e molto codice che non faceva parte del contenuto del corso.
Inoltre, quando il contenuto viene generato dinamicamente (sito fatto con framework JS, come VUE o React) l’estensione non è in grado di raccoglierlo.
E per di più, gli stessi problemi di fondo della soluzione precedente continuano:
- I link continuavano a puntare al sito online.
- Si salvava una copia pesante della pagina.
- Non veniva generata una struttura locale navigabile.
- Non era pratico ripeterlo per 70, 80 o 90 lezioni.
Quindi è chiaro che SingleFile serve per salvare una pagina isolata, ma non per trasformare un intero corso in una versione locale pulita.
#3. Usare un’estensione Markdown
L’opzione successiva è usare un’estensione tipo MarkDownload, pensata per convertire una pagina web in Markdown.
L’approccio ha senso se vuoi:
- Estrarre solo il testo.
- Eliminare design inutile.
- Generare file leggeri.
- Per unirli poi in un documento o in un HTML locale.
Il problema è che, al momento, l’estensione non è disponibile nel Chrome Web Store.
Esistono estensioni alternative, ma quella che avevo usato in passato era questa, quindi ti racconto l’idea e lascio a te il compito di cercare altre opzioni simili.
#4. Script in console
La via successiva è creare un piccolo script dalla console del browser.
Ci sono due vie; l’approccio della prima è:
- Aprire la pagina indice del corso.
- Leggere tutti i link delle lezioni.
- Fare fetch() di ogni URL.
- Estrarre il contenuto.
- Generare un unico HTML locale.
Se non programmi, ChatGPT ti genera lo script senza problemi.
Il bello è che questo permette di automatizzare il processo una volta effettuato il login, ma è probabile che la politica di sicurezza della pagina lo vieti.
Puoi provare un altro approccio, sempre dalla console:
- Aprire una nuova finestra.
- Navigare a ogni lezione come farebbe l’utente.
- Aspettare che si carichi.
- Leggere il DOM di quella finestra.
- Estrarre il contenuto.
Il problema che puoi incontrare qui su pagine dinamiche è che il browser non sempre permette di controllare bene quella finestra, leggerne il contenuto o rilevare quando è davvero caricata.
Nessuna delle due formule è una soluzione robusta, ma te le racconto perché le ho usate in certi momenti e possono esserti utili. Anche se ti direi di passare meglio alla successiva.
#6. Tampermonkey
A priori la più complessa, perché richiede:
- Installare un’estensione.
- Generare uno script.
- Che venga eseguito dentro ogni URL.
Ma Tampermonkey lo rende parecchio più semplice, perché permette di caricare automaticamente uno script proprio quando visiti determinate URL.
Qui il browser stesso entra in ogni lezione e lo script viene eseguito dentro la pagina caricata.
Il flusso è:
- Pagina indice.
- Tampermonkey raccoglie link.
- Naviga alla lezione 1.
- Cattura contenuto visibile.
- Salva stato in localStorage.
- Naviga alla lezione 2.
- Cattura contenuto.
- …
- Genera HTML finale.
Questo ha molte più possibilità di funzionare sempre.
La chiave è trovare il contenitore reale del contenuto del corso, cosa che si ottiene ispezionando la URL di una lezione per individuare quale blocco HTML conteneva il contenuto utile.
Di solito è .main-content o #lesson-content o qualcosa del genere. Dipende da come è impaginato il sito del corso.
Una volta rilevato, crei uno script che faccia quanto segue:
- Eseguirsi solo sulle URL del corso.
- Aggiungere un piccolo pannello flottante con pulsanti (opzionale).
- Raccogliere i link delle lezioni dall’indice del corso.
- Salvare quei link in localStorage.
- Navigare automaticamente attraverso ogni lezione.
- Aspettare che esista #lesson-content.
- Clonare quel blocco.
- Pulire script, stili, pulsanti, iframe e attributi inutili.
- Convertire immagini e link in URL assolute.
- Salvare ogni lezione catturata in localStorage.
- Alla fine, generare un unico file HTML scaricabile.
Il risultato cercato era un file come quello che commentavamo nell’introduzione curso-local.html.
A proposito, non serve che tu sappia programmare. Nemmeno HTML. Chiedi lo script a ChatGPT e lo fa per te (così ho fatto io).
L’importante è conoscere la formula e capirne il funzionamento a grandi linee, ma il codice in sé te lo genera l’IA.
Passo dopo passo per salvare un corso online sul tuo computer
Questo è il passo dopo passo spiegato.
Passo 1: installare Tampermonkey
La prima cosa è installare Tampermonkey.
In Chrome, per le restrizioni attuali, può essere necessario:
- Installare l’estensione.
- Entrare in chrome://extensions/.
- Attivare la modalità sviluppatore (interruttore in alto a destra).
- Permettere l’esecuzione di script utente.
- Dare all’estensione il permesso di eseguirsi sul sito del corso.
Questo è importante perché, se Tampermonkey non ha permessi, il pannello non appare anche se lo script è corretto.
Passo 2: creare lo script
In Tampermonkey:
Dashboard > Create a new script
Si elimina il contenuto iniziale e crei il tuo script.
Qui ti lascio lo script che ChatGPT ha generato per me, nel caso tu sia sviluppatore e voglia dargli un’occhiata, adattarlo o provarlo per il tuo caso. Ricordati di cambiare la URL del corso:
Passo 3: aprire la pagina indice del corso online
Bisogna entrare nella pagina iniziale del corso. Se richiede login, effettua prima l’accesso ed entra nella home.
Passo 4: verificare che appaia il pannello
Se usi lo script che ti ho lasciato, al caricamento della pagina del corso dovrebbe apparire un pannello nero in alto a destra con tre pulsanti:
- Test 3
- Todo
- Borrar estado
Se non appare, bisogna controllare:
- Che Tampermonkey sia attivo.
- Che lo script sia abilitato.
- Che @match coincida con la URL del corso.
- Che l’estensione abbia permessi per quel sito.
Passo 5: cancellare lo stato prima di provare
Prima di qualunque prova, conviene premere il pulsante Borrar estado.
Questo pulisce le catture precedenti archiviate in localStorage.
È importante perché, durante le prove, possono restare stati vecchi che generano file incompleti o duplicati.
Passo 5: provare con 3 lezioni
Dopo aver cancellato lo stato, premi il pulsante Test 3.
Non conviene lanciare lo scraper per il corso completo al primo colpo.
Lo script percorrerà tre lezioni e scaricherà un file HTML.
Aprilo e controlla:
- Che l’indice abbia tre lezioni.
- Che i titoli siano corretti.
- Che il contenuto inizi con il testo reale della lezione.
- Che non catturi il footer.
- Che non appaiano blocchi vuoti.
Passo 6: eseguire la cattura completa
Se il test funziona, è tutto pronto. Devi solo:
- Riaprire la pagina indice online.
- Premere Borrar estado.
- Premere Todo.
- Lasciare che il browser navighi da solo.
- Non chiudere la scheda.
- Aspettare che scarichi l’HTML finale.
E avrai già generato un ottimo file HTML locale che comprime tutto il corso in pochi kilobyte.
Ora, però, pesare così poco ha un trucco. Le immagini sono linkate al server originale, non sono state scaricate sul tuo PC. E questo significa che a un certo punto la loro URL può cambiare o possono essere eliminate, con la conseguenza che non potrai più vederle.
Potresti scaricarle una per una e cambiare la URL nell’HTML, ma credo abbia poco senso. Per questo, per me, c’è un passo successivo (opzionale).
Passo 7 (opzionale): portare il contenuto in Word
Parlo di Word, ma puoi farlo in un Google Doc se preferisci. È questione di flusso di lavoro.
In ogni caso, questo passo è molto semplice, perché devi solo:
- Aprire l’HTML con il browser.
- Selezionare tutto il contenuto (ctrl+a su Windows).
- Copiarlo (ctrl+c).
- Incollarlo (ctrl+v) in un nuovo file Word. È possibile che impieghi qualche secondo in base alla dimensione del corso.
- Salvarlo.
Ora le immagini saranno state incollate dentro il file Word e saranno già tue.
La contropartita è che il file non peserà più pochi kilobyte, ma mega. E forse molti: nel mio ultimo corso, 181MB. Perché sono 136 pagine con vari screenshot. Mica poco.
Detto questo, c’è una soluzione. Continua a leggere.
Passo 7 (opzionale): portare il contenuto in PDF
Questo è ancora più semplice del precedente, ma ha un trucco. Devi:
- Aprire il file in Word.
- Cliccare su “Salva con nome”.
- Scegliere PDF.
- Nelle opzioni che compaiono, selezionare “Dimensione minima (pubblicazione online)”:

Voilà!
Da 181 passa a 2MB, niente male davvero.
Sì, le immagini perdono un po’ di qualità, ma soddisfano ampiamente l’obiettivo della formazione.
Con questo avremo un PDF molto leggero, con il corso completo, immagini e link sul nostro PC, o nel nostro cloud di formazione, se lo preferiamo (e dovresti preferirlo).
Limiti di questa soluzione
Questa soluzione serve per corsi o documentazione in HTML il cui contenuto è principalmente testo, immagini e link.
Non serve per:
- Scaricare video protetti.
- Catturare contenuti serviti tramite DRM.
- Salvare player incorporati.
- Aggirare pagamenti o restrizioni di accesso.
- Conservare al 100% il design originale della piattaforma.
- Scaricare allegati che richiedono permessi aggiuntivi.
Se il corso include video incorporati in Cloudflare Stream, Vimeo, Wistia o altri player protetti, lo script può conservare lo spazio o il link, ma non scaricherà il video. Sono cose diverse.
Conclusione
Se vuoi o devi salvare un corso in locale per averlo sempre a portata di mano, o una documentazione completa da passare a una IA e farle domande, hai varie opzioni.
Ma se la fonte richiede login e ha varie decine o centinaia di URL, il sistema con Tampermonkey è il migliore.
Se sono meno di dieci URL e non vuoi complicarti la vita, puoi provare le altre soluzioni che ti ho commentato.
Ho provato molti sistemi nel corso della mia vita — automatici e manuali — e nessuno è così rapido e automatico come questo.
Almeno finché gli agenti IA non lo faranno per te. Gratis, chiaro.
Chiedere non costa nulla.
Domande frequenti
A cosa serve salvare un corso online sul PC?
Serve a conservare una copia locale di un corso a cui hai già accesso e poterlo consultare più avanti senza dipendere dal sito, dal login, dal server o dal fatto che la piattaforma continui a esistere.
Quali formati si possono ottenere salvando un corso online?
Puoi salvarlo in HTML, Word o PDF. L’HTML è leggero e navigabile, Word permette di modificare e conservare immagini, e PDF è comodo da salvare e consultare.
Questa soluzione va bene per qualunque corso online?
No. Funziona bene con corsi basati su testo, immagini e link, ma non serve per scaricare video protetti, DRM, player incorporati o contenuti senza permesso.
Qual è il problema di salvare un corso pagina per pagina?
È lento, disordinato e poco pratico: i link continuano a puntare al sito online, si generano cartelle di risorse e non resta una navigazione locale pulita.
Serve l’opzione “Salva con nome” del browser?
Serve per pagine semplici o URL isolate, ma non basta per corsi grandi con molte lezioni, login, indice laterale e link interni.
SingleFile è una buona opzione per salvare corsi online?
SingleFile può salvare una pagina completa in un unico HTML, ma di solito non risolve bene corsi interi perché genera file pesanti e non crea una struttura locale navigabile.
Che vantaggio ha convertire una lezione in Markdown?
Markdown permette di estrarre testo pulito e leggero, eliminando design inutile, ma dipende molto dall’estensione usata e da come è costruito il sito.
Si può fare con uno script dalla console del browser?
Sì, ma non funziona sempre. Molte piattaforme bloccano fetch, finestre esterne o letture tra pagine per sicurezza, soprattutto se c’è login o contenuto dinamico.
Perché Tampermonkey è la soluzione più robusta?
Perché lo script viene eseguito dentro ogni pagina reale del corso, cattura il contenuto visibile, salva l’avanzamento e genera un HTML finale con tutte le lezioni.
Bisogna saper programmare per usare Tampermonkey?
Non necessariamente. Puoi chiedere lo script a ChatGPT, ma devi saperlo provare, regolare la URL del corso e individuare il contenitore corretto del contenuto.
Quale contenitore HTML bisogna catturare in una lezione?
Dipende dalla piattaforma, ma di solito è qualcosa come.main-content,#lesson-contento il blocco che contiene davvero il testo e le immagini della lezione.
Cosa faccio se il pannello di Tampermonkey non appare?
Controlla che Tampermonkey sia attivo, che lo script sia abilitato, che il@matchcoincida con la URL e che l’estensione abbia permessi su quel sito.
Perché conviene provare prima con solo tre lezioni?
Perché così controlli se cattura il contenuto corretto, se i titoli escono bene e se non entrano menu, footer o blocchi vuoti prima di lanciare tutto il corso.
Che succede alle immagini nell’HTML generato?
Di solito restano linkate al server originale, per questo il file pesa poco; ma se quelle immagini cambiano o spariscono, smetteranno di vedersi nella tua copia locale.
Perché passare l’HTML a Word?
Perché copiando l’HTML e incollandolo in Word, le immagini possono restare dentro il documento, rendendo il file più pesante ma anche più indipendente.
Perché poi passare il Word a PDF?
Perché il PDF permette di ridurre molto il peso finale del file, soprattutto se scegli l’opzione di dimensione minima per pubblicazione online.
Qual è il miglior formato finale per conservare un corso?
Per modificare, Word. Per navigare leggero, HTML. Per salvare, consultare e caricare in un cloud di formazione, normalmente PDF.
Posso usare questo sistema per passare documentazione a NotebookLM o a un’altra IA?
Sì. Puoi convertire una documentazione lunga in HTML, Word o PDF e caricarla su una IA per fare domande senza dover rivedere URL per URL.
Questo metodo scarica video del corso?
No. Può conservare link o spazi dei player, ma non scarica video da piattaforme come Vimeo, Wistia, Cloudflare Stream o simili.
È legale salvare un corso online in locale?
Dipende dalle condizioni del corso. Ha senso per uso personale con contenuti a cui hai già accesso, non per aggirare pagamenti, rompere protezioni o redistribuire materiale.
Che metodo scegliere in base al caso?
Per poche pagine, “Salva con nome” o SingleFile possono bastare; per testo pulito, Markdown; per corsi grandi con login e molte lezioni, Tampermonkey.

Lascia un commento