Il suo uso standard permette di scaricare un file dal web, basta chiamarlo da terminale con un url
wget http://2mlabs.blogspot.com/a questo punto potreste potenzialmente navigare in internet a colpi di wget "nomepagina" e less "nomepagina", ma non credo sia molto pratico ne utile.
Vediamo piuttosto le funzioni interessanti.
Quello che wget ci permette di fare è il download ricorsivo dei siti, ovvero oltre alla pagina iniziale che gli abbiamo fornito, lui scaricherà anche tutto quello a cui quella pagina aveva collegamenti, quindi immagini, file, etc. Se fra questi link dovesse comparire un'altra pagina html lui scaricherebbe anche da tutti i link presenti in quella e avanti così a cascata!
Il tutto aggiungendo soltanto l'opzione -r al comando scritto prima
wget -r http://2mlabs.blogspot.com/Un'opzione essenziale se si stanno scaricando delle pagine html è
--convert-links che ci permette, una volta scaricato la sito, di navigarci localmente anche offline. In caso contrario avremmo tutte le pagine, ma cliccare sul link non ci porterebbe da nessuna parte.Non tutti i siti potrebbero essere felici ad avervi lì a scaricare tutto quanto. Quindi molto spesso richiedono che il browser di identifichi, e solitamente inviano una pagina bianca o di errore se scoprono che si sta usando qualcosa che non è un web browser. Vi sarà probabilmente capitato se avete usato in passato programmi come GetRight, FlashGet o qualsiasi altro download manager.
Per risolvere questo problema entra in gioco l'opzione
-U browser che ci permette di dire al sito che stiamo usando un browser di quelli normalmente accettatiwget -r -U Mozilla http://2mlabs.blogspot.com/Aggiungendo Mozilla sarà come se ci fossimo collegati con Firefox o qualsiasi altro browser Mozilla.
Nonostante tutto, scaricare un sito implica un sacco di traffico, quindi se la cosa non aggrada troppo al gestore potremmo trovarci rapidamente in una blacklist senza poter più accedere al sito per un pò.
In nostro aiuto questa volta intervengono altre due opzioni
--limit-rate= e --wait=, la prima ci permette di limitare la banda di scaricamento, mentre la seconda ci permette di inserire un'attesa fra le richieste di download. Mettendo un minimo di attesa e limitazione al download non avremo sicuramente problemi di finire in nessuna blacklist.Aggiungiamo quindi anche queste due opzioni alla riga di comando, con il tempo di attesa in secondi e il limite di scaricamento in bytes, o Kilobytes se ci aggiungiamo un K
wget -r --limit-rate=50K --wait=20 -U Mozilla http://2mlabs.blogspot.com/Un ultima opzione molto utile è il
--no-parent che impedisce al programma di scaricare le cartelle allo stesso livello. Questo vi permette di scaricare solo i contenuti di una particolare cartella, senza scaricare più di quello che vi serve.Per ulteriori comandi e approfondimenti vi rimando al completissimo manuale
man wgete alle pagine di wikipedia su wget in inglese e italiano.
Ma se vengono scaricate tutte le pagine linkate in maniera ricorsiva... rischi di scaricare tutto l'interwebz...
RispondiEliminao no?
non mi torna :sgrat:
Non mi ricordo se si ferma da solo sui link esterni, comunque si. Scarichi potenzialmente tutto l'interwebz.
RispondiEliminaC'è qualcosa di surreale e molto molto turbo in tutto ciò
RispondiEliminapuoi impostare quanto profondo più scendere nella ricorsione... ovviamente l'opzione non la ricordo... ma c'è.
RispondiEliminad
Ah si, la -l depth, che permette di decidere i livelli, ma ogni volta che la imposto finisce per non scaricare tutto il sito che era il pinto del post.
RispondiElimina