2014-10-20 9 views
16

Ich möchte wget verwenden, um die folgenden 18 HTML-Dateien zum Download:Warum ignoriert wget die Abfragezeichenfolge in der 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 

Egal, was nach page= kommt, lädt es immer die erste Seite der Auflistung. Muss ich einigen Charakteren in den URLs entkommen? Wie?

+0

Haben Sie versucht? http://www.ted.com/talks/quick-list?sort=date&desc&page=17 – saruftw

+0

Machst du 'wget" http://www.ted.com/talks/quick-list?sort=date&order=desc&page= 18 "oder nicht mit den Anführungszeichen? – hrbrmstr

+0

@rgbimbochamp Ich würde es versuchen. Gibt es eine Erklärung, warum sollte das Problem behoben werden? –

Antwort

26

& ist ein Sonderzeichen in den meisten Shell-Umgebungen, können Sie doppelte Anführungszeichen verwenden, um die URL zu zitieren, die ganze Sache in als Parameter an wget weitergeben müssen:

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

Wie würdest du {1..20} verwenden, um eine Reihe von Dateien mit einem String herunterzuladen? – Neil

3
  1. Speichern Sie Ihre Liste von URLs in einer Datei (jede URL in einer separaten Zeile !!):

    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. Aufruf wget, um das Material abrufen:

    wget -i wget_filelist.txt

Verwandte Themen