本文是因為(筆者使用的windows系統)使用過好幾次wget后,始終存在各種細節問題,於是下定決定細致的研究一下,並記錄下其中細節。
下載與安裝
第一步:下載wget,網絡地址:http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe(這個地址傳播較廣,可自行搜索)
第二步:執行wget.exe安裝文件,TIPS:網絡上說的不能安裝在C盤programes files文件夾,經筆者測試不受影響,所以可以任意選擇安裝位置。
第三步:找到安裝后wget.exe文件所在位置,筆者在:C:\Program Files\GnuWin32\bin,將GNU_HOME = C:\Program Files\GnuWin32\bin添加到系統環境變量中,並在系統變量中再加入;%GNU_HOME%\bin(前面分號是為了隔離前面添加的變量的),而非用戶環境變量,如圖紅框所示:
命令詳解及測試
我們從最基本的開始一點點進行學習。
1.-V,--version 顯示軟件版本號,也可使用長參數--version,以下同,結果如下:
2.-h,--help顯示軟件幫助信息,可查看所有命令及使用簡介,結果如圖:
3.-e,--execute=COMMAND 執行一個 “.wgetrc”命令,.wgetrc命令其實是一個參數列表,wgetrc格式參見/etc/wgetrc或~/.wgetrc,直接將軟件需要的參數寫在一起,這個列表在C:\Program Files\GnuWin32\etc底下,這是筆者本地路徑,wgetrc文件命令都是注釋狀態,如果要使用需先取消注釋。舉例為wget -e robots=off URL等同於wget --execute=robots=off URL。參考:http://www.cnblogs.com/HappyThree/archive/2013/02/04/2892413.html。wget默認會根據網站的robots.txt進行操作,使用-e robots=off參數即可繞過該限制;
4.-o,--output-file=FILE 將軟件輸出信息保存到文件,你不希望下載信息直接顯示在終端而是在一個日志文件,可以使用該命令:
wget -o download.log URL,等同於wget --output-file=download.log URL
5.-a,--append-output=FILE將軟件輸出信息追加到文件,結果如下:
6.-d,--debug顯示輸出信息;
7.-q,--quiet 不顯示輸出信息;
8.-i,--input-file=FILE 從文件中取得URL,下載filelist.txt中所包含的鏈接的所有文件,wget -i filelist.txt,本地須有一個鏈接列表,必須含如http,http是這樣的協議頭,不然不識別,最終執行結果如下,會逐行讀取文件:
9.-np, --no-parent,不追溯至父目錄。
10.-t,--tries=NUMBER 是否下載次數(0表示無窮次);
11.-O --output-document=FILE 指定下載目錄和文件名;
12.-nc, --no-clobber 不要覆蓋已經存在的文件;當文件存在時會提示:File 'index.html' already there;not retrieving.
13.-N,--timestamping只下載比本地新的文件;
14.-T,--timeout=SECONDS 設置超時時間;
15.-Y,--proxy=on/off 關閉代理;
16.-nd --no-directories 不建立目錄,若下載全站,該值不設置會默認建立以域名為名字的目錄,指定則不建立目錄;使用-x會強制建立服務器上一模一樣的目錄,如果使用-nd參數,那么服務器上下載的所有內容都會加到本地當前目錄。
17.-x,--force-directories 強制建立目錄,即便一個文件也會強制建立目錄;
18.HTTP參數設置一些與HTTP下載有關的屬性。
19.-r,--recursive 下載整個網站、目錄(小心使用),防止陷入死循環,也即跟蹤鏈接到外部網站去。
20.-l,--level=NUMBER 下載層次,防止無限循環,得在知道層次的情況下,否則可能遺漏文件:
21.-A,--accept=LIST 可以接受的文件類型,可以接受逗號;
22.-R,--reject=LIST拒絕接受的文件類型,跟上面正好相反,可以接受逗號;
23.-D,--domains=LIST可以接受的域名,用逗號分隔;
24.--exclude-domains=LIST拒絕的域名,用逗號分隔,與23相反;
25.-L,--relative 下載關聯鏈接,指定關聯的其他鏈接,防止無限遞歸。
26.--follow-ftp 只下載FTP鏈接,特殊需求;
27.-H,--span-hosts 可以下載外面的主機,指定對外面主機是否下載。
28.-I,--include-directories=LIST允許的目錄,在知道目錄結構的前提下設置可以下載的。
33.-F, --force-html 把輸入文件當作HTML格式文件對待;
34.-B, --base=URL 將URL作為在-F -i參數指定的文件中出現的相對鏈接的前綴,意思是需要下載的目標文件中間所含的相對路徑文件。
35.以下三個暫做記錄,應該不太常用。
36.--bind-address=ADDRESS 指定本地使用地址(主機名或IP,當本地有多個IP或名字時使用),本地地址可通過ipconfig /all在控制台查看:
37.-c, --continue 接着下載沒下載完的文件,斷點續傳;
38.--progress=TYPE 設定進程條標記,選擇下載進度條的形式,合法的type有“dot”和“bar”(默認)兩種;
39.-S, --server-response打印服務器的回應;
中斷cmd正在執行的任務:按 Ctrl+C,退出cmd:exit
40.--spider 不下載任何東西;
41.-w, --wait=SECONDS 兩次嘗試之間間隔SECONDS秒;
42.--waitretry=SECONDS 在重新鏈接之間等待1...SECONDS秒;
43.--random-wait 在下載之間等待0...2*WAIT秒;
44.-Q, --quota=NUMBER 設置下載的容量限制;

55.-U, --user-agent=AGENT 設定代理的名稱為 AGENT而不是 Wget/VERSION;
56.--no-http-keep-alive 關閉 HTTP活動鏈接 (永遠鏈接);
57.--cookies=off 不使用 cookies;--load-cookies=FILE 在開始會話前從文件 FILE中加載cookie;--save-cookies=FILE 在會話結束后將 cookies保存到 FILE文件中
58.FTP 選項:

62.-m, --mirror 等價於 -r -N -l inf -nr;
63.-p, --page-requisites 下載顯示HTML文件的所有圖片;
命令好多,63個,逐一測試了一遍。留個印象,使用的時候,隨用隨看隨取就好了。中文手冊:http://dwz.cn/4QH6aM