Scaricare file da Internet è un’operazione tanto scontata quanto delicata: ciascuno di noi vorrebbe semplificarsi la vita ed affidarsi ad un programma in grado di gestire diversi aspetti collegati. In Linux qualcosa del genere esiste e si chiama Wget. Questo piccolo programma, pesante soltanto pochi KB, è in grado di scaricare file da Internet tramite HTTP, HTTPS, FTP (e via discorrendo) e mette a disposizione dell’utente un gran numero di opzioni per la gestione dei download.

Di contro, però, c’è il fatto che Wget possa essere utilizzato soltanto tramite riga di comando; ciò tuttavia non è un problema, poiché una volta imparati i parametri più utili verrà tutto abbastanza naturale! La guida che segue riguarda proprio Wget: scopriremo insieme i parametri più utili da aggiungere a questo comando per raffinare ancor di più i nostri download.

NOTA: tutti i parametri che specificheremo in basso possono essere combinati ed utilizzati anche insieme, a seconda delle esigenze dell’utente.



Comando di base.
La sintassi di base di Wget è semplice, da terminale, digitiamo:

wget url_file_da_scaricare

#esempio: wget http://www.chimerarevo.com/prova.txt
per scaricare il file nella directory corrente.



Scaricare un file con nome diverso.
Per scaricare un file e dargli un nome diverso, potremo digitare

wget url_file_da_scaricare -O nuovo_nome.estensione

#esempio: wget http://www.chimerarevo.com/prova.txt -O filediprova.txt



Scaricare in background.
Questo comando è utile per avviare un download e chiudere il terminale oppure la connessione remota al server. Per avviare un download in background andremo a digitare

wget -b url_file_da_scaricare

#esempio: wget -b http://www.chimerarevo.com/prova.txt



Ripristinare download interrotti.

Questo è un comando estremamente utile per i download di file di grandi dimensioni che si interrompono da un momento all’altro (per problemi di rete, ad esempio). Invocando Wget col parametro -c, l’utility controllerà l’esistenza di un file con lo stesso nome e, in caso affermativo, sarà in grado di riprendere il download da dove è stato interrotto.

wget -c url_file_da_scaricare

#esempio: wget -c http://www.chimerarevo.com/prova.txt



Impostare un numero massimo di tentativi.
E’ possibile “istruire” Wget affinché non si fermi al fallimento di un download, ma riprovi a terminarlo per un numero limitato di volte. Ciò può essere fatto con il parametro -tries: il comando in basso ritenterà 10 volte il download prima di arrendersi.

wget -tries=numeroTentativi url_file_da_scaricare

#esempio: wget -tries=10 http://www.chimerarevo.com/prova.txt



Scaricare una lista di file.
Creiamo un file di testo semplice (.txt) con la lista di file da scaricare, uno sotto l’altro: possiamo darla in pasto a wget affinché li scarichi tutti! Per farlo è sufficiente impostare il parametro -i:

wget -i lista_dei_file

#esempio: wget -i fileDaScaricare.txt



Limitare la velocità di download.

Con il parametro –limit-rate potremo impostare un limite alla velocità di download dei nostri file, opzione molto utile per non sovraccaricare la rete. Potremo usare sia l’unità di misura “k” (per kByte/s) che “m” (per MByte/s). Nel comando in basso andremo a limitare la velocità di download a 150 kbps

wget --limit-rate=limite url_file_da_scaricare

#esempio: wget --limit-rate=150k http://www.chimerarevo.com/prova.txt



Scaricare tramite proxy.
Questo non è un parametro da passare direttamente a wget ma una variabile d’ambiente provvisoria che Wget utilizzerà per i download avviati da quel terminale; possiamo, con questo procedimento, impostare un proxy http dal quale far passare i file scaricati. Per impostare il proxy il comando è il seguente:

http_proxy="http://user:[email protected]:porta"
#esempio: export http_proxy="http://jessica:Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.:8080"



Scaricare un’intera directory (ftp).
Se siamo su un ftp pubblico e desideriamo scaricare l’intero contenuto di una cartella (e delle sue sottocartelle) possiamo farlo con il parametro -r, ovvero download ricorsivo.

wget -r ftp_da_cui_scaricare/cartella

#esempio: wget -r ftp://ftp.mozilla.org/releases



Scaricare un intero sito web.
La sintassi di base per scaricare un intero sito web con wget (creare un mirror) è

wget -m http://indirizzo_sito

tuttavia ciò significa scaricare tutto (ma tutto) quanto collegato con il sito web, con il risultato di ritrovarsi il disco pieno di file potenzialmente inutili. Siccome Wget è una utility stracolma di parametri, ne ho combinati alcuni per avvicinarci il più possibile al download dello stretto indispensabile per visualizzare correttamente un sito web. Il comando è:

wget -k -r -p -D dominio.org --restrict-file-names=sistema http://www.sitoweb.org

Diamo ora un’occhiata ai vari parametri:
-k: permette di convertire i link web in link relativi, così che le pagine locali vengano collegate tra loro;
-r: download ricorsivo, ovvero che si sposta nelle varie directory del sito;
-p: download dei requisiti delle pagine (ad esempio dei fogli di stile), così che vengano visualizzate correttamente;
-D dominio.org: download dei soli file appartenenti al dominio “dominio.org” (quindi niente link esterni);
–restrict-file-names=sistema: download dei soli file visualizzabili dal sistema operativo specificato (windows o unix).

Dunque per scaricare l’intero sito chimerarevo.com da visualizzare su un computer Windows andremo a scrivere:

get -k -r -p -D chimerarevo.com --restrict-file-names=windows http://www.chimerarevo.com

Al termine del processo avremo il sito pronto da consultare in una directory dedicata (nel nostro caso www.chimerarevo.com). Infine, per riprendere il download precedentemente interrotto di un sito web potremo inserire, oltre ai parametri precedenti, anche il parametro -nc (che evita la sovrascrittura dei file già scaricati), ad esempio

wget -k -r -p -nc -D chimerarevo.com --restrict-file-names=windows http://www.chimerarevo.com



Manuale di wget ed istruzioni per Windows e macOS.
Abbiamo imparato che Wget è uno strumento estremamente potente e che permette di avviare download con un gran numero di parametri. Quelli che abbiamo illustrato sono i più importanti, ma un’occhiata alla pagina di manuale di Wget usando il comando:

man wget

potrà insegnarcene molti di più! Per dovere di cronaca specifichiamo che Wget è disponibile anche su MacOS e su Windows, ma va scaricato ed installato a parte. Ad esempio su MacOS l’intera procedura può essere gestita da Homebrew, mentre per Windows il file d’installazione può essere scaricato da questo link . In tal caso però bisognerà portarsi nella cartella di Wget per usare il programma dal prompt, oppure aggiungere l’eseguibile alla variabile PATH. Per farlo procediamo come segue:
clicchiamo destro su Computer (o Questo PC), quindi selezionare Proprietà;
clicchiamo su "Impostazioni di sistema avanzate";
apriamo la scheda Avanzate e clicchiamo sul pulsante "Variabili d’ambiente";
cerchiamo la variabile di nome Path, clicchiamo due volte su di essa ed inseriamo la seguente stringa alla fine di quanto c’è già scritto (togliendo il punto e virgola all’inizio della stringa, se fosse già presente):

;%PROGRAMFILES(x86)%GnuWin32binwget.exe

Diamo "OK" dove necessario per salvare le impostazioni e riavviamo il computer. Da questo momento potremo usare Wget dal prompt dei comandi!

Fonte: http://www.chimerarevo.com

 

 

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 su terminale 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 online, 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, 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 che 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.

Fonte: http://www.giuseppefava.com

 

 

Microchip.jpg