2014-10-20 32 views
16

我想使用wget下載以下18 HTML文件:爲什麼wget忽略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 

無論page=後會發生什麼,它總是下載列表的第一頁。我是否必須逃避網址中的某些字符?怎麼樣?

+0

你試過嗎? http://www.ted.com/talks/quick-list?sort=date&desc&page=17 – saruftw 2014-10-20 21:13:02

+0

你在做「wget」http://www.ted.com/talks/quick-list?sort=date&order=desc&page= 18「'還是不使用雙引號? – hrbrmstr 2014-10-20 21:18:44

+0

@rgbimbochamp我會試試看。有沒有解釋爲什麼應該解決這個問題呢? – 2014-10-20 21:23:25

回答

26

&是一個特殊字符在大多數shell環境中,可以使用雙引號引用URL傳遞在整個事件中作爲參數傳遞給wget

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

如何使用{1..20}使用字符串下載一系列文件? – Neil 2016-03-07 16:41:21

3
  1. 存儲你的文件的URL列表(在一個單獨的線!每個URL):

    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. 呼叫wget來獲取的東西:

    wget -i wget_filelist.txt