Scaricare da Internet

Come scaricare un sito nel computer con Linux usando Wget


Ti è mai capitato di voler consultare un sito web anche quando non hai una connessione internet a disposizione? Magari sei in viaggio, oppure ti serve avere una copia locale di un sito per motivi di studio o di lavoro. Bene, oggi ti mostro come farlo in modo semplice ed efficace con uno strumento che ogni utente Linux dovrebbe conoscere: wget.

Qualche tempo fa ti ho parlato di HTTrack, un software gratuito e multipiattaforma pensato proprio per scaricare interi siti web. Se vuoi approfondire puoi dare un’occhiata alla pagina di download del sito ufficiale. Stavolta, però, ci concentriamo su una soluzione nativa e potente che non richiede interfacce grafiche né installazioni complicate: il comando wget.

Cos’è Wget e perché è così utile

Wget è un programma da riga di comando molto popolare che ti permette di scaricare file da Internet tramite i protocolli HTTP, HTTPS e FTP. Uno dei motivi per cui viene così tanto apprezzato è la sua versatilità: puoi usarlo per scaricare un singolo file, un intero sito web o persino automatizzare il download di più risorse grazie a script personalizzati.

La funzione che oggi ci interessa si chiama mirroring. In pratica, wget è in grado di copiare sul tuo computer l’intera struttura di un sito, comprese immagini, fogli di stile, script e file multimediali, così che tu possa navigarlo comodamente offline come se fossi online.

Il comando base per scaricare un sito

La sintassi più semplice per creare una copia locale di un sito con wget è questa:

wget -m https://www.giuseppefava.com/

L’opzione -m sta per “mirror” e indica a wget di copiare l’intero sito. Tuttavia, con questo comando mancano ancora alcuni elementi importanti come fogli di stile, immagini inline o video.

Scaricare anche le risorse necessarie

Per rendere le pagine leggibili anche offline, bisogna aggiungere l’opzione -p, che forza wget a scaricare tutte le risorse collegate:

wget -mp https://www.giuseppefava.com/

A questo punto hai già una copia più completa, ma c’è un problema: i link interni puntano ancora al sito originale. Questo significa che, cliccandoli, verresti reindirizzato online.

Convertire i link per la navigazione offline

La soluzione è l’opzione -k, che converte i link del sito in modo da renderli “locali”:

wget -mkp https://www.giuseppefava.com/

Con questo comando avrai finalmente una copia del sito completamente navigabile offline. Potrai aprire la home, cliccare sui vari collegamenti interni e spostarti tra le pagine come se fossi connesso.

Gestire le attese tra le richieste

Alcuni siti applicano limitazioni per evitare troppi download simultanei. Per non incorrere in blocchi, wget mette a disposizione l’opzione -w, che ti consente di inserire una pausa tra una richiesta e l’altra:

wget -mkp -w 20 https://www.giuseppefava.com/

In questo esempio wget aspetta 20 secondi tra un download e l’altro. Puoi anche usare i suffissi m (minuti) o h (ore). Ad esempio, -w 1m introdurrà una pausa di un minuto.

Opzioni avanzate che dovresti conoscere

Le opzioni che ti ho mostrato sono solo la punta dell’iceberg. Ecco alcune altre possibilità molto utili:

  • -r: scarica i file in maniera ricorsiva (utile quando non vuoi l’intero sito ma solo una directory specifica).
  • –limit-rate: ti permette di limitare la velocità di download per non saturare la banda.
  • -c: riprende un download interrotto senza ricominciare da capo.
  • –no-parent: evita che wget salga a directory superiori rispetto a quella che hai indicato.
  • –user-agent: permette di personalizzare lo user-agent, utile quando alcuni siti bloccano i bot.

Per un elenco completo delle opzioni, puoi digitare sul terminale:

man wget

Ti consiglio di darci un’occhiata: la documentazione è molto chiara e troverai sicuramente qualche opzione che può tornarti utile nei tuoi casi specifici.

Consigli pratici prima di scaricare un sito

Prima di lanciarti nel mirroring selvaggio di siti web, fermati un attimo e considera questi aspetti:

  • Dimensioni del sito: alcuni portali possono pesare diversi gigabyte.
  • Connessione internet: un download massiccio può rallentare la tua rete.
  • Etica e legalità: scaricare contenuti protetti da copyright o senza autorizzazione non è mai una buona idea.
  • Spazio su disco: assicurati di avere abbastanza spazio libero sul tuo computer.

Se ti interessa scaricare solo alcune pagine di un sito, puoi combinare wget con file di input che contengono solo gli URL desiderati. In questo modo eviti di occupare spazio inutilmente e hai esattamente ciò che ti serve.

Un esempio pratico: salvare articoli per leggerli offline

Mettiamo che tu voglia scaricare una serie di articoli da leggere durante un viaggio. Puoi creare un file di testo, ad esempio articoli.txt, con dentro una lista di URL, uno per riga. Poi ti basta eseguire:

wget -i articoli.txt -p -k

Con l’opzione -i indichi a wget di leggere gli URL da un file.
L’opzione -p scarica le risorse necessarie, e -k ti garantisce la navigazione offline.

Conclusioni

Ora sai come scaricare un sito nel computer con Linux utilizzando wget. Si tratta di un comando potentissimo, che con poche opzioni ti permette di portare con te interi siti web o selezionare solo i contenuti che ti interessano. La prossima volta che ti ritrovi senza connessione, avrai tutto a portata di mano.
Ricorda soltanto di usare questa tecnica in maniera responsabile e di non scaricare contenuti senza il permesso degli autori. Divertiti a sperimentare con wget e a scoprire tutte le sue potenzialità!

Ciao, 👋
piacere di conoscerti.

Iscriviti alla newsletter settimanale gratuita.
Certificata NO-SPAM!

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.


Articoli correlati

Pulsante per tornare all'inizio

Adblock rilevato

per supportare il sito ti chiedo di disattivare l'Adblock