PDA

View Full Version : [Linux] Aiuto con wget


BlackShark92
15-06-2011, 22:01
Salve ragazzi, vorrei qualche chiarimento sull'uso di wget... In particolare sullo scaricamento di immagini da una public directory. Nonostante usi wget -r (abilita la ricorsione) -A.jpg (per scaricare tutte le jpg) <url del sito>, praticamente mi scarica sempre e solo l'index, in file html per giunta, nonostante io specifichi il path della cartella contenente le immagini... Qualche dritta? Per favore, non ditemi di leggere il man (fatto e rifatto più volte) o di googlare (fatto anche questo), rispondetemi solo se sapete utilizzare il wget... Grazie in anticipo :D

Gimli[2BV!2B]
16-06-2011, 00:09
O è presente un(più) indice(i) principale da cui wget possa capire che immagini scaricare, oppure deve essere attivo il directory listing nel server da cui vuoi scaricare (richiedendo una cartella ne elenca il contenuto, solitamente non attivo).

Se il directory listing è attivo si è a cavallo, basta usare l'URL della directory.

Nel caso in cui siano presenti indici il server potrebbe rifiutare di rispondere a wget, perché si accorge che si tratta di uno strumento automatizzato, quindi indesiderato.
In questo caso si possono specificare gli header (http://www.askapache.com/dreamhost/wget-header-trick.html):wget --recursive --follow-tags=a,img --referer="http://www.google.com" --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" \
--header="Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" \
--header="Accept-Language: en-us,en;q=0.5" \
--header="Accept-Encoding: gzip,deflate" \
--header="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" \
--header="Keep-Alive: 300" http://pippo.pluto.it/cartella/index.html
Se gli index non contengono link alle immagini ma codice che li costruisce in funzione dell'input dell'utente (ad esempio Javascript) non sarà comunque possibile recuperarle, se non elaborando ulteriormente l'output.
Quest'ultima cosa è ormai diffusa.

BlackShark92
16-06-2011, 00:13
Ok, quindi comunque dipende tutto dal sito, giusto?Ma gli header in questione dove vanno messi/specificati?Nel file di config di wget?

Gimli[2BV!2B]
16-06-2011, 00:53
Dipende molto dal sito.

Il modo più immediato è nel comando, come nell'esempio che ho riportato; altrimenti si possono rendere permanenti nei vari modi illustrati nel link.