Tips and tricks - siti web navigabili offline
Pubblicato il 28/10/2016 in Technology, Tips and Tricks • 2 min read
Alcune volte si ha l'esigenza di dover navigare un sito completamente offline. Per poter effettuare un download completo di un sito remoto è sufficiente utilizzare wget, un potente e versatile tool da linea di comando. Vediamo come fare!
Scenario
La prima volta mi capitò nell'ormai lontano 2007, quando partecipai ad un evento dove non era disponibile una connessione ad internet.
Mi è capitato di nuovo proprio in questi giorni, quando mi son ritrovato nella stessa situazione di mancanza di connessione, quindi ho deciso che forse sarebbe stato meglio annotare il comando con le sue opzioni, in modo da poterlo ripescare velocemente.
Soluzione
Per questa esigenza ci viene in aiuto un potente e versatile tool da
linea di comando, disponibile in praticamente tutte le distribuzioni,
che è wget
.
Attraverso le sue opzioni possiamo scaricare totalmente un sito web in locale, creando una copia esatta nei contenuti e nella formattazione del sito web remoto.
wget --mirror --convert-links --adjust-extension --page-requisites \
--no-parent --exclude-directories /eventi,/wp-admin \
http://miosito.tld
Nell'esempio riportato, ho escluso i path /eventi e /wp-admin dalla url di riferimento in modo da non effettuare il download del contenuto di quelle directory.
Vediamo le opzioni utilizzate a cosa servono:
--mirror
: abilita le funzionalità di mirroring, opzione indispensabile per scaricare completamente un sito web remoto. Vengono abilitate, inoltre, funzioni come la ricorsione (a profondità infinita, in modo da entrare in tutte le sub-directory presenti) e il check sul timestamp dei file--convert-links
: modifica le URL presenti nei file HTML in modo che puntino correttamente ai file scaricati piuttosto che al sito remoto--adjust-extension
: corregge l'estensione del file scaricato aggiungendo.html
nel caso non ci fosse--page-requisites
: effettua il download di tutti i componenti remoti necessari a visualizzare correttamente i file HTML scaricati--no-parent
: con la ricorsione abilitata (con--mirror
) esegue la scansione dell'albero delle directory esclusivamente a partire dalla URL indicata--exclude-directories
: le directory indicate (separate da virgola) vengono escluse dal download
Si consiglia, come al solito, di consultare la pagina di manuale
di wget
in modo da poter apportare le modifiche desiderate.