GNU/Linux >> Linux Esercitazione >  >> Linux

La guida definitiva al download di Wget con 15 fantastici esempi

wget utility è l'opzione migliore per scaricare file da Internet. wget può praticamente gestire tutte le situazioni di download complesse, inclusi download di file di grandi dimensioni, download ricorsivi, download non interattivi, download di file multipli ecc.

In questo articolo esaminiamo come utilizzare wget per vari scenari di download utilizzando 15 fantastici esempi di wget.

1. Scarica file singolo con wget

L'esempio seguente scarica un singolo file da Internet e lo archivia nella directory corrente.

$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Durante il download verrà visualizzata una barra di avanzamento con le seguenti informazioni:

  • % di completamento del download (ad es. 31% come mostrato di seguito)
  • Quantità totale di byte scaricati finora (ad es. 1.213.592 byte come mostrato di seguito)
  • Velocità di download attuale (ad es. 68,2K/s come mostrato di seguito)
  • Tempo rimanente per il download (ad es. eta 34 secondi come mostrato di seguito)

Download in corso:

$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Saving to: `strx25-0.9.2.1.tar.bz2.1'

31% [=================> 1,213,592   68.2K/s  eta 34s

Download completato:

$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Saving to: `strx25-0.9.2.1.tar.bz2'

100%[======================>] 3,852,374   76.8K/s   in 55s    

2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]

2. Scarica e archivia con un nome file diverso utilizzando wget -O

Per impostazione predefinita, wget sceglierà il nome del file dall'ultima parola dopo l'ultima barra, il che potrebbe non essere sempre appropriato.

Sbagliato: Il seguente esempio scaricherà e memorizzerà il file con il nome:download_script.php?src_id=7701

$ wget http://www.vim.org/scripts/download_script.php?src_id=7701

Anche se il file scaricato è in formato zip, verrà archiviato nel file come mostrato di seguito.

$ ls
download_script.php?src_id=7701

Corretto: Per correggere questo problema, possiamo specificare il nome del file di output usando l'opzione -O come:

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

3. Specifica la velocità di download / Velocità di download utilizzando wget –limit-rate

Durante l'esecuzione di wget, per impostazione predefinita cercherà di occupare tutta la larghezza di banda possibile. Questo potrebbe non essere accettabile quando si scaricano file di grandi dimensioni su server di produzione. Quindi, per evitare che possiamo limitare la velocità di download utilizzando il –limit-rate come mostrato di seguito.

Nell'esempio seguente, la velocità di download è limitata a 200.000

$ wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

4. Continua il download incompleto usando wget -c

Riavvia un download che è stato interrotto nel mezzo usando l'opzione wget -c come mostrato di seguito.

$ wget -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Questo è molto utile quando hai avviato un download di file molto grande che è stato interrotto nel mezzo. Invece di riavviare l'intero download, puoi iniziare il download da dove è stato interrotto usando l'opzione -c

Nota: Se un download viene interrotto a metà, quando si riavvia il download senza l'opzione -c, wget aggiungerà automaticamente .1 al nome del file poiché esiste già un file con il nome precedente. Se esiste già un file con .1, verrà scaricato il file con .2 alla fine.

5. Scarica in background usando wget -b

Per un download enorme, metti il ​​download in background usando l'opzione wget -b come mostrato di seguito.

$ wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Continuing in background, pid 1984.
Output will be written to `wget-log'.

Inizierà il download e ti restituirà il prompt della shell. Puoi sempre controllare lo stato del download usando tail -f come mostrato di seguito.

$ tail -f wget-log
Saving to: `strx25-0.9.2.1.tar.bz2.4'

     0K .......... .......... .......... .......... ..........  1% 65.5K 57s
    50K .......... .......... .......... .......... ..........  2% 85.9K 49s
   100K .......... .......... .......... .......... ..........  3% 83.3K 47s
   150K .......... .......... .......... .......... ..........  5% 86.6K 45s
   200K .......... .......... .......... .......... ..........  6% 33.9K 56s
   250K .......... .......... .......... .......... ..........  7%  182M 46s
   300K .......... .......... .......... .......... ..........  9% 57.9K 47s

Inoltre, assicurati di rivedere il nostro precedente articolo multitail su come utilizzare il comando tail in modo efficace per visualizzare più file.

6. Maschera User Agent e Visualizza wget come Browser usando wget –user-agent

Alcuni siti Web possono impedirti di scaricare la sua pagina identificando che lo user agent non è un browser. Quindi puoi mascherare lo user agent usando le opzioni –user-agent e mostrare wget come un browser come mostrato di seguito.

$ wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD

7. Prova l'URL di download usando wget –spider

Quando esegui il download programmato, dovresti controllare se il download andrà bene o meno all'ora programmata. Per fare ciò, copia la riga esattamente dalla pianificazione, quindi aggiungi l'opzione –spider per controllare.

$ wget --spider DOWNLOAD-URL

Se l'URL fornito è corretto, dirà

$ wget --spider download-url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

Ciò garantisce che il download abbia esito positivo all'ora programmata. Ma quando hai fornito un URL sbagliato, riceverai il seguente errore.

$ wget --spider download-url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!

Puoi utilizzare l'opzione ragno nei seguenti scenari:

  • Controlla prima di programmare un download.
  • Monitoraggio della disponibilità o meno di un sito Web a determinati intervalli.
  • Controlla un elenco di pagine dal tuo segnalibro e scopri quali pagine esistono ancora.

8. Aumenta il numero totale di tentativi utilizzando wget –tries

Se la connessione a Internet ha problemi e se il file di download è di grandi dimensioni, è possibile che il download si interrompa. Per impostazione predefinita, wget riprova 20 volte per completare il download.

Se necessario, puoi aumentare i tentativi utilizzando l'opzione –tries come mostrato di seguito.

$ wget --tries=75 DOWNLOAD-URL

9. Scarica più file/URL utilizzando Wget -i

Innanzitutto, archivia tutti i file di download o gli URL in un file di testo come:

$ cat > download-file-list.txt
URL1
URL2
URL3
URL4

Quindi, dai il download-file-list.txt come argomento a wget usando l'opzione -i come mostrato di seguito.

$ wget -i download-file-list.txt

10. Scarica un sito Web completo utilizzando wget –mirror

Di seguito è riportata la riga di comando che desideri eseguire quando desideri scaricare un sito Web completo e reso disponibile per la visualizzazione locale.

$ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
  • –mirror :attiva le opzioni adatte al mirroring.
  • -p :scarica tutti i file necessari per visualizzare correttamente una determinata pagina HTML.
  • –convert-links :dopo il download, converte i link nel documento per la visualizzazione locale.
  • -P ./LOCAL-DIR :salva tutti i file e le directory nella directory specificata.

11. Rifiuta determinati tipi di file durante il download utilizzando wget –reject

Hai trovato un sito web che ti è utile, ma non vuoi scaricare le immagini puoi specificare quanto segue.

$ wget --reject=gif WEBSITE-TO-BE-DOWNLOADED

12. Registra i messaggi in un file di registro invece di stderr Usando wget -o

Quando si desidera che il registro venga reindirizzato a un file di registro anziché al terminale.

$ wget -o download.log DOWNLOAD-URL

13. Esci dal download quando supera determinate dimensioni usando wget -Q

Quando vuoi interrompere il download quando supera i 5 MB puoi usare la seguente riga di comando wget.

$ wget -Q5m -i FILE-WHICH-HAS-URLS

Nota: Questa quota non avrà effetto quando scarichi un singolo URL. Ciò è indipendentemente dalla dimensione della quota, tutto verrà scaricato quando si specifica un singolo file. Questa quota è applicabile solo per i download ricorsivi.

14. Scarica solo alcuni tipi di file utilizzando wget -r -A

Puoi usarlo nelle seguenti situazioni:

  • Scarica tutte le immagini da un sito web
  • Scarica tutti i video da un sito web
  • Scarica tutti i file PDF da un sito Web
$ wget -r -A.pdf http://url-to-webpage-with-pdfs/

15. Download FTP con wget

Puoi usare wget per eseguire il download FTP come mostrato di seguito.

Download FTP anonimo tramite Wget

$ wget ftp-url

Download FTP utilizzando wget con autenticazione nome utente e password.

$ wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL

Se ti è piaciuto questo articolo, per favore aggiungilo ai segnalibri con delicious o Stumble.


Linux
  1. Nozioni di base su Linux:come scaricare file sulla shell con Wget

  2. I 10 casi d'uso principali del comando Wget (con esempi)

  3. Comando Wget in Linux con esempi

  4. 5 Esempi di comandi Wget per scaricare file in Linux.

  5. '&&' vs. '&' con il comando 'test' in Bash

Come scaricare file con il comando Wget in Linux

La guida definitiva alla manipolazione delle immagini con ImageMagick

Synology NAS per Glacier Backup - La guida definitiva

The Ultimate Tar Command Tutorial con 10 esempi pratici

HowTo:l'esercitazione definitiva sui comandi Logrotate con 10 esempi

La guida definitiva per principianti all'hosting statico di siti Web con Google Firebase (GRATUITAMENTE)