Introduzione
wget
offre un gran numero di funzioni avanzate che possono essere utilizzate per personalizzare e automatizzare il processo di download. Di seguito sono riportati alcuni esempi.
Leggere gli URL da un file
Se avete un file che contiene gli URL che volete scaricare, potete utilizzare l'opzione -i
:
wget -i file
Se specificate '-'
come nome del file, gli URL saranno letti dall'input standard.
Creare una copia mirror di un sito web
Per creare una copia mirror di un sito web profonda cinque livelli, con la stessa struttura di directory dell'originale, con un solo tentativo per documento, salvando il log delle attività in gnulog
, potete usare il comando:
wget -r https://www.gnu.org/ -o gnulog
Potete anche convertire i link nei file scaricati per puntare ai file locali, in modo da poter visualizzare i documenti offline:
wget --convert-links -r https://www.gnu.org/ -o gnulog
Questi comandi scaricano il sito web "www.gnu.org" e salvano il log delle attività in un file chiamato "gnulog".
Scaricare una pagina HTML con tutte le sue risorse
Per scaricare solo una pagina HTML, ma assicurandovi che tutti gli elementi necessari per la visualizzazione della pagina, come le immagini inline e i fogli di stile esterni, vengano scaricati, potete utilizzare l'opzione -p
e --convert-links
:
wget -p --convert-links http://www.example.com/dir/page.html
Questo comando salverà la pagina HTML a www.example.com/dir/page.html
, e le immagini, i fogli di stile, ecc., da qualche parte sotto www.example.com/
, a seconda di dove si trovavano sul server remoto.
Se non volete avere tutte quelle directory del server casuale, basta salvare tutti quei file sotto una sottodirectory download/
della directory corrente:
wget -p --convert-links -nH -nd -Pdownload http://www.example.com/dir/page.html
Questo comando salverà la pagina HTML e tutte le sue risorse in una sottodirectory chiamata "download" della directory corrente.
Mostrare gli header del server
Per recuperare l'index.html
di www.lycos.com
, mostrando gli header originali del server, potete utilizzare l'opzione -S
:
wget -S http://www.lycos.com
Se volete salvare gli header del server con il file, forse per un post-processing, potete utilizzare l'opzione --save-headers
:
wget --save-headers http://www.lycos.com/
Questo comando salverà gli header del server nel file index.html
.
Scaricare i primi due livelli di un sito FTP
Per scaricare i primi due livelli di wuarchive.wustl.edu
, salvandoli in /tmp
, potete utilizzare le opzioni -r
, -l2
e-P/tmp
:
wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu
Questo comando scaricherà i primi due livelli di wuarchive.wustl.edu
e li salverà in /tmp
.
Scaricare tutti i file GIF da una directory
Se volete scaricare tutti i file GIF da una directory su un server HTTP, potete utilizzare le opzioni -r
, -l1
, --no-parent
e -A.gif
:
wget -r -l1 --no-parent -A.gif http://www.example.com/dir
Questo comando scaricherà tutti i file GIF dalla directory specificata sul server HTTP.
Riprendere i download interrotti senza sovrascrivere i file esistenti
Se il vostro download viene interrotto, e non volete sovrascrivere i file già presenti, potete utilizzare l'opzione -nc
:
wget -nc -r https://www.gnu.org
Questo comando riprenderà il download dal punto in cui è stato interrotto, senza sovrascrivere i file già presenti.
Codificare il proprio nome utente e password per HTTP o FTP
Se volete codificare il vostro nome utente e password per HTTP o FTP, potete utilizzare la seguente sintassi:
wget ftp://hniksic:[email protected]/.emacs
Questo comando scaricherà il file .emacs
dal server FTP specificato, utilizzando il nome utente "hniksic" e la password "mypassword".
Inviare i documenti scaricati all'output standard
Se volete che i documenti scaricati vengano inviati all'output standard invece che ai file, potete utilizzare l'opzione -O
:
wget -O - http://jagor.srce.hr/ http://www.srce.hr
Questo comando scaricherà i documenti dai siti web specificati e li invierà all'output standard invece di salvarli come file1.
Limitare la velocità di download
Se volete limitare la velocità di download per evitare di sovraccaricare la vostra connessione, potete utilizzare l'opzione --limit-rate
. Ad esempio, per limitare la velocità di download a 200k, potete usare:
wget --limit-rate=200k http://example.com
Questo comando scaricherà il file dal sito web specificato a una velocità massima di 200 kilobytes al secondo.
Scaricare file da un elenco di URL
Se avete una lista di URL da cui volete scaricare file, potete utilizzare l'opzione -i
con un file che contiene tutti gli URL. Ad esempio:
wget -i urls.txt
Questo comando scaricherà tutti i file dagli URL elencati nel file "urls.txt".
Scaricare file in background
Se volete che wget
scarichi i file in background, potete utilizzare l'opzione -b
. Ad esempio:
wget -b http://example.com
Questo comando farà iniziare il download del file in background, permettendovi di continuare a utilizzare il terminale per altri comandi.
Scaricare file solo se non sono già presenti localmente
Se volete scaricare solo i file che non sono già presenti localmente, potete utilizzare l'opzione -N
. Ad esempio:
wget -N http://example.com
Questo comando scaricherà il file solo se non è già presente localmente o se la versione locale è più vecchia di quella sul server.
Conclusione
Questi sono solo alcuni degli usi avanzati di wget
. L'utility è estremamente versatile e può essere utilizzata in molti modi diversi per automatizzare e personalizzare i vostri download. Consultate la pagina man di wget
o la sua documentazione online per ulteriori informazioni.