Scaricare file dal web
In questo esercizio, si imparerà come utilizzare il software
wget
per effettuare il download di una pagina web,
o addirittura di un sito completo.
Il comando wget
Le pagine web sono scritte in un linguaggio di Markup (ovvero un linguaggio simile ad un linguaggio di programmazione, ma che ha come scopo di descrivere come visualizzare un documento, invece che di eseguire un algoritmo).
Si può utilizzare il comando wget
per scaricare il codice
di una pagina. Ad esempio, si provi a scaricare il codice della pagina
del corso del laboratorio, con il comando:
$ wget https://people.cs.dm.unipi.it/lcmc/2020-21/Questo comando creerà un file di nome
index.html
, il nome
che viene utilizzato per cercare una pagina web quando non ne è specificato
alcuno in particolare.
Si verifichi il contenuto del file scaricato utilizzando cat
o less
.
wget
di scaricare la pagina del laboratorio, come fatto sopra, chiedendo però
di:
- Stampare il contenuto della pagina a schermo, invece di salvarlo su un file.
- Non stampare output diverso dal contenuto della pagina, ad esempio le informazioni sulla connessione al server e la barra di progresso del download.
man
. Una volta determinato il comando necessario, utilizzarlo
per salvare l'output su un nuovo file index2.html
utilizzando
la redirezione dell'output (con il simbolo >
).I due file
index.html
e index2.html
sono identici? Provare
a confrontarne la dimensione utilizzando ls
, oppure con confrontarli
con il comando diff
.
Il comando wget può essere usato anche per creare una copia completa di un sito web. Ad esempio, potreste provare a clonare gli appunti del corso con il comando
$ wget -r --no-parent -p https://people.cs.dm.unipi.it/lcmc/2020-21/In questo comando, gli argomento hanno questo significato:
-r
oppure--recursive
attiva la modalità ricorsiva, che segue tutti i link in una pagina e scarica le pagina collegate, e così via ricorsivamente.--no-parent
indica a Wget di non andare più in alto della pagina base, ovvero se si dà un indirizzo che punta a/lcmc/2020-21
nessuna pagina più in alto nella gerarchia, o su altri server, sarà scaricata. Questo è utile per evitare che il comando continui all'infinito!-p
serve a scaricare anche tutti i file ausiliari per visualizzare correttamente la pagina (come immagini, e fogli di stile, di cui parleremo alla fine del laboratorio)
scp -r
, ed aprire i file locali con un qualunque web browser. A volte
i link potrebbero aver bisogno di essere convertiti per funzionare, esiste un'opzione
apposita di Wget, che però va cercata nel manuale.
Attenzione: scaricare molti dati dal web potrebbe riempire velocemente la vostra
home directory. In ogni caso,
è buona norma eliminare i file di cui non avete bisogno, come quelli scaricati in questi
esercizi per fare delle prove, utilizzando il comando rm
.