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
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.
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.
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.
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.
"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.
Grazie per le note. Salu2.
Penso che tu abbia un errore, le prime due righe hanno lo stesso comando.
Grazie mille, ottimo tutorial!