Recentemente ti ho mostrato come scaricare un sito nel computer utilizzando HTTrack, un software multipiattaforma gratuito. Come sicuramente avrai visto sulla pagina di download del sito ufficiale, HTTtacks è disponibile anche per Linux, ma oggi vorrei proporti una soluzione diversa utilizzando WGET, un comando molto potente e versatile disponibile per tutte le distribuzioni Linux. Vediamo allora come scaricare un sito nel computer con Linux.
wget è un programma da riga di comando molto popolare che permette di scaricare da internet file tramite protocolli http e ftp. Una delle caratteristiche avanzate di wget è il mirroring, cioè la possibilità di creare una copia locale di un sito, inclusi fogli di stile, immagini e altri file di supporto. Tutti i link interni vengono seguiti da wget e scaricati in locale, fino al raggiungimento della copia completa sul computer.
Nella sua forma più semplice il comando con l’opzione mirror è il seguente:
wget -m https://www.giuseppefava.com/
solo con il parametro -m però non vengono scaricati i file necessari alle pagine per essere correttamente visualizzate come ad esempio i figli di stile, immagini inline, suoni, video ecc… per scaricare anche questi file si usa l’opzione -p quindi il comando risulta essere:
wget -mp https://www.giuseppefava.com/
in questa forma il risultato non è proprio ottimale poiché i link interni sono stati prelevati così come sono e quindi puntano al sito web originale quindi la navigazione offline non è possibile. Per ovviare a questo problema si può utilizzare l’opzione -k che converte tutti i link presenti nel sito in link interni. Quindi il comando così trasformato è:
wget -mkp https://www.giuseppefava.com/
In questo modo la copia locale del sito è navigabile offline. Un’altra questione da considerare è che alcuni siti, per evitare i download contemporanei di più file limitano l’accesso per alcuni secondi da una richiesta all’altra. Per risolvere questo problema si può utilizzare l’opzione -w seguita da un numero di secondi di attesa. Quindi il comando ora è:
wget -mkp -w 20 https://www.giuseppefava.com/
wget ora inserisce un ritardo di 20 secondi tra una richiesta e l’altra. Per utilizzare un ritardo in minuti o in ore,si può utilizzare il suffisso “m” o “h” dopo il numero. Come hai potuto vedere questo semplice comando è molto potente e le opzioni che ho utilizzato sono solo una piccola parte di quelle disponibili. Per poterle visionare tutte puoi leggere le manpages con il comando man wget. Ora che hai visto come scaricare un sito nel computer con Linux puoi usare wget per fare una copia locale dei siti che ti interessano per leggerli comodamente quando non sei connesso ad internet.