2014-10-20 9 views
16

voglio usare wget per scaricare i seguenti file html 18:Perché wget ignora la stringa di query nell'URL?

http://www.ted.com/talks/quick-list?sort=date&order=desc&page=18 
http://www.ted.com/talks/quick-list?sort=date&order=desc&page=17 
... 
http://www.ted.com/talks/quick-list?sort=date&order=desc&page=1 

Non importa ciò che viene dopo page=, scarica sempre nella prima pagina dell'elenco. Devo sfuggire alcuni caratteri nelle url? Come?

+0

Hai provato questo? http://www.ted.com/talks/quick-list?sort=date&desc&page=17 – saruftw

+0

Stai facendo "wget" http://www.ted.com/talks/quick-list?sort=date&order=desc&page= 18 "' o non usando le doppie virgolette? – hrbrmstr

+0

@rgbimbochamp Vorrei fare un tentativo. C'è una spiegazione perché dovrebbe risolvere il problema? –

risposta

26

& è un carattere speciale nella maggior parte degli ambienti di shell, è possibile utilizzare le virgolette doppie per citare l'URL per passare il tutto come parametro per wget:

wget "http://www.ted.com/talks/quick-list?sort=date&order=desc&page=18" 
+0

Come useresti {1..20} per scaricare un intervallo di file usando una stringa? – Neil

3
  1. Conservare il tuo elenco di URL in un file (ogni URL in una riga separata !!):

    echo "http://www.ted.com/talks/quick-list?sort=date&order=desc&page=18 http://www.ted.com/talks/quick-list?sort=date&order=desc&page=17 ... " > wget_filelist.txt

  2. chiamata wget per recuperare la roba:

    wget -i wget_filelist.txt

Problemi correlati