Wget, alcuni esempi di cosa si può fare con questo strumento

A proposito di wget

Nel prossimo articolo daremo uno sguardo a Wget. Va detto che GNU Wget è un file strumento gratuito che consente il download di contenuti dai server web in modo semplice e veloce. Il suo nome deriva da World Wide Web (w) e la parola get (in inglese ottenere). Questo nome significa: ottenere da WWW.

Oggi ci sono dozzine di applicazioni per scaricare file in modo molto efficiente. La maggior parte di essi si basa su interfacce web e desktop e sono sviluppati per tutti i sistemi operativi. Tuttavia su Gnu / Linux (esiste anche una versione per Windows) c'è il potente gestore di download di file wget. È considerato il downloader più potente che esista. Supporta protocolli come http, https e FTP.

Scarica file con wget

Scarica un file

Il modo più semplice per utilizzare questo strumento è scaricare indicando il file Ciò che vogliamo:

wget http://sitioweb.com/programa.tar.gz

Scarica utilizzando diversi protocolli

Come un buon download manager, è possibile richiedere più di un download alla volta. Possiamo anche utilizzare protocolli diversi nello stesso ordine:

wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg

Scarica per estensione

Un altro modo per scaricare più file file che utilizzano la stessa estensione, utilizzerà il carattere jolly asterisco:

wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf

Questo comando non funziona sempre, poiché alcuni server potrebbero aver bloccato l'accesso a wget.

Scarica un elenco di file

Se quello che vogliamo è scaricare i file che stiamo trovando, dovremo solo salvarli URL in un file. Creeremo un elenco chiamato files.txt e indicheremo il nome della lista al comando. Necessario posiziona un solo URL per riga all'interno di files.txt.

Il comando che useremo per scaricare la lista creata e che salviamo in files.txt sarà il seguente:

wget -i archivos.txt

Riavvia un download

Se per qualsiasi motivo il download è stato interrotto, saremo in grado di farlo continuare il download da dove era stato interrotto usando il opzione c con il comando wget:

wget -i -c archivos.txt

Aggiungi un registro sul download

Se vogliamo ottenere un log sul download, al fine di controllare qualsiasi incidente su di esso, dovremo aggiungere il file -o opzione come mostrato di seguito:

wget -o reporte.txt http://ejemplo.com/programa.tar.gz

Limita la larghezza di banda per il download

In download molto lunghi possiamo limitare la larghezza di banda del download. Ciò impedirà al download di occupare tutta la larghezza di banda per la durata del download:

wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso

Scarica con nome utente e password

Se vogliamo scaricare da un sito in cui è richiesto un nome utente / password, dovremo solo utilizzare queste opzioni:

wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3

Tentativi di download

Predefinito, questo programma effettua 20 tentativi per stabilire la connessione e avvia il download, in siti molto saturi è possibile che anche con 20 tentativi non sia stato raggiunto. Con il opzione t aumenta a più tentativi.

wget -t 50 http://ejemplo.com/pelicula.mpg

Scarica un sito Web con wget

Chiedi aiuto amico

Chiedi aiuto amico

Wget non si limita ai soli download di filePotremo scaricare una pagina intera. Dovremo solo scrivere qualcosa del tipo:

wget www.ejemplo.com

Scarica un sito web e i suoi elementi extra

Con la opzione p scaricheremo anche tutti i file elementi extra necessari nella pagina come fogli di stile, immagini in linea, ecc.

Se aggiungiamo il file opzione r se scaricherà in modo ricorsivo fino a 5 livelli dal sito:

wget -r www.ejemplo.com -o reporte.log

Converti link in gente del posto

Per impostazione predefinita, i collegamenti all'interno del sito puntano all'indirizzo dell'intero dominio. Se scarichiamo il sito in modo ricorsivo e poi lo studiamo offline, possiamo usare il file opzione convert-link che li trasformerà in collegamenti locali:

wget --convert-links -r http://www.sitio.com/

Ottieni una copia completa del sito

Avremo la possibilità di ottenere una copia completa di un sito. Il Opzione –mirror è lo stesso che usare il opzioni -r -l inf -N che indica la ricorsione a livello infinito e l'ottenimento del timestamp originale di ogni file scaricato.

wget --mirror http://www.sitio.com/

Trasforma le estensioni

Se scarichi l'intero sito per visualizzarlo offline, diversi file scaricati potrebbero non aprirsi, a causa di estensioni come .cgi, .asp o .php. Quindi è possibile indicare con il Opzione –html-extension Tutti i file vengono convertiti in un'estensione .html.

wget --mirror --convert-links --html-extension http://www.ejemplo.com

Queste sono solo linee guida generali di quello che puoi fare con Wget. Chi vuole può consultare il manuale in linea per consultare tutte le possibilità che questo meraviglioso download manager ci offre.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Ruben Cardenal suddetto

    Per quanto riguarda "Download per estensione" ho smesso di leggere. Non puoi scaricare ciò che non conosci. A meno che la directory richiesta non consenta l'elenco dei file e non abbia un indice (ed entrambi devono verificarsi contemporaneamente), ciò che dici non può essere fatto. Che livello.

    1.    Computer anonimo suddetto

      Ciao Rubén, l'ignoranza è un po 'audace.
      Quello che commenti può essere fatto con un semplice comando a google:
      tipo file:pdf sito:ubunlog.com
      In questo esempio non c'è il pdf in questo blog, ma cambia il dominio alla fine al web che preferisci e vedrai com'è facile vedere tutti i file di un tipo di web.
      Buona giornata.

      1.    Frank suddetto

        Ma wget non si connette a Google per trovare i PDF che si trovano in un URL. La directory web deve essere aperta e deve esserci una pagina di indice generata da mod_autoindex o simile, come dice Rubén Cardenal.

    2.    Jimmy Olano suddetto

      "Questo comando non funziona sempre, poiché alcuni server potrebbero aver bloccato l'accesso a wget."
      Questo emendamento è stato inserito in questo articolo, perché non sono d'accordo con esso (sebbene tecnicamente sia possibile bloccare alcuni agenti web per le richieste di intestazione http e restituire un messaggio 403 "non consentito") e spiegherò perché:

      Tutti i server web Apache (e sto parlando di una percentuale considerevole di server) per impostazione predefinita consentono il globbing (ottimo articolo di Wikipedia, leggi: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .

      Questo in pratica significa, come specificato dal sig. Rubén (e ha ragione), SE NON C'È UN FILE CHIAMATO "index.php" o "index.html" (o anche semplicemente chiamato "index") il server restituirà silenziosamente un elenco di file e directory (ovviamente in forma di una pagina html con le informazioni come collegamento web per ogni file). LA MAGGIOR PARTE DEI WEB SERVER DISABILITANO QUESTA FUNZIONE TRAMITE IL FILE .htacces (in senso stretto Apache2) PER MOTIVI DI SICUREZZA.

      Ecco la versatilità di wget (guarda la sua storia, sempre su Wikipedia, quella che conosci di più: https://es.wikipedia.org/wiki/GNU_Wget ) per analizzare o "analizzare" tali informazioni ed estrarre solo le estensioni da noi richieste.

      Ora nel caso in cui questo non funzioni, per un motivo o per l'altro, possiamo provare altre funzioni avanzate di wget, cito direttamente in inglese:

      Vuoi scaricare tutte le GIF da una directory su un server HTTP. Hai provato 'wget http://www.example.com/dir/*.gif’, ma non ha funzionato perché il recupero HTTP non supporta GLOBBING (ho messo le lettere maiuscole). In tal caso, usa:

      wget -r -l1 –nessun genitore -A.gif http://www.example.com/dir/

      Più prolisso, ma l'effetto è lo stesso. '-r -l1' significa recuperare in modo ricorsivo (vedere Download ricorsivo), con una profondità massima di 1. '–no-parent' significa che i riferimenti alla directory padre vengono ignorati (vedere Limiti basati su directory) e '-A. gif 'significa scaricare solo i file GIF. Anche '-A «* .gif»' avrebbe funzionato.

      SE ESEGUI IN QUESTO ULTIMO MODO wget creerà una cartella per noi con l'indirizzo web richiesto nella cartella predefinita in cui stiamo lavorando, e creerà delle sottodirectory se necessario e lì posizionerà, ad esempio, le immagini .gif che abbiamo richiesta.

      --------
      TUTTAVIA se non è ancora possibile ottenere solo alcuni tipi di file (* .jpg, per esempio) dovremo utilizzare il parametro «–page-requisites» che scarica tutti gli elementi interni di una pagina html (immagini, suoni, css, ecc.) insieme alla stessa pagina html ("–page-requisites" può essere abbreviato in "-p") e questo sarebbe l'equivalente di scaricare qualcosa come un "mhtml" https://tools.ietf.org/html/rfc2557

      Spero che questa informazione ti sia utile.

      1.    Damiano Amedo suddetto

        Grazie per le note. Salu2.

  2.   Afterbank suddetto

    Penso che tu abbia un errore, le prime due righe hanno lo stesso comando.

  3.   Mike suddetto

    Grazie mille, ottimo tutorial!