wget

wget

wget 是一個從網路上自動下載檔案的自由工具,支持通過 HTTP、HTTPS、FTP 三個最常見的 TCP/IP協定 下載,並可以使用 HTTP 代理。"wget" 這個名稱來源於 “World Wide Web” 與 “get” 的結合。 所謂自動下載,是指 wget 可以在用戶退出系統的之後在繼續後台執行,直到下載任務完成。

基本信息

啟動參數

這一類參數主要提供軟體的一些基本信息。

-V,--version 顯示軟體版本號然後退出;

-h,--help顯示軟體幫助信息;

-e,--execute=COMMAND 執行一個 “.wgetrc”命令

以上每一個功能有長短兩個參數,長短功能一樣,都可以使用。需要注意的是,這裡的-e參數是執行一個.wgettrc的命令,.wgettrc命令其實是一個參數列表,直接將軟體需要的參數寫在一起就可以了。

檔案參數

這類參數定義軟體log檔案的輸出方式等。

-o,--output-file=FILE 將軟體輸出信息保存到檔案;

-a,--append-output=FILE將軟體輸出信息追加到檔案;

-d,--debug顯示輸出信息;

-q,--quiet 不顯示輸出信息;

-i,--input-file=FILE 從檔案中取得URL;

例1:下載首頁並且顯示下載信息

wget -d

例2:下載首頁並且不顯示任何信息

wget -q

例3:下載filelist.txt中所包含的連結的所有檔案

wget -i filelist.txt

wget -np -m -l 5 不下載本站所連結的其它站點內容,5級目錄結構

下載參數

下載參數定義下載重複次數、保存檔案名稱等。

-t,--tries=NUMBER 是否下載次數(0表示無窮次)

-O --output-document=FILE 指定下載目錄和檔案名稱

-nc, --no-clobber 不要覆蓋已經存在的檔案

-N,--timestamping只下載比本地新的檔案

-T,--timeout=SECONDS 設定逾時時間

-Y,--proxy=on/off 關閉代理

例:下載的首頁並將下載過程中的的輸入信息保存到test.htm檔案中

wget -Otest.html

目錄參數

目錄參數主要設定下載檔案保存目錄與原來檔案(伺服器檔案)的目錄對應關係;

-nd --no-directories 不建立目錄

-x,--force-directories 強制建立目錄

可能我們對這裡的目錄還不是很了解,我們來看一個舉例

例:下載的首頁,並且保持網站結構

wget -x

HTTP參數

HTTP參數設定一些與HTTP下載有關的屬性。

--http-user=USER設定HTTP用戶

--http-passwd=PASS設定HTTP密碼

--proxy-user=USER設定代理用戶

--proxy-passwd=PASS設定代理密碼

以上參數主要設定HTTP和代理的用戶、密碼;

遞歸參數設定

在下載一個網站或者網站的一個目錄的時候,我們需要知道的下載的層次,這些參數就可以設定。

-r,--recursive 下載整個網站、目錄(小心使用)

-l,--level=NUMBER 下載層次

例:下載整個網站

wget -r

拒絕選項參數

下載一個網站的時候,為了儘量快,有些檔案可以選擇下載,比如圖片和聲音,在這裡可以設定。

-A,--accept=LIST 可以接受的檔案類型

-R,--reject=LIST拒絕接受的檔案類型

-D,--domains=LIST可以接受的域名,用逗號分隔

--exclude-domains=LIST拒絕的域名,用逗號分隔

-L,--relative 下載關聯連結

--follow-ftp 只下載FTP連結

-H,--span-hosts 可以下載外面的主機

-I,--include-directories=LIST允許的目錄

-X,--exclude-directories=LIST 拒絕的目錄

伺服器

wget可以使用用戶設定檔案".wgetrc"來讀取很多設定,我們這裡主要利用這個檔案來是設定代理伺服器。使用者用什麼用戶登錄,那么什麼用戶主目錄下的".wgetrc"檔案就起作用。

例如,"root"用戶如果想使用".wgetrc"來設定代理伺服器,"/root/.wgetrc"就起作用,下面給出一個".wgetrc"檔案的內容,讀者可以參照這個例子來編寫自己的"wgetrc"檔案:

http-proxy = 111.111.111.111:8080

ftp-proxy = 111.111.111.111:8080

這兩行的含義是,代理伺服器IP位址為:111.111.111.111,連線埠號為:8080。第一行指定HTTP協定所使用的代理伺服器,第二行指定FTP協定所使用的代理伺服器。

代碼總表

啟動:

-V, --version 顯示wget的版本後退出

-h, --help 列印語法幫助

-b, --background 啟動後轉入後台執行

-e, --execute=COMMAND 執行`.wgetrc'格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc

wget默認會根據網站的robots.txt進行操作

使用-e robots=off參數即可繞過該限制

記錄和輸入檔案:

-o, --output-file=FILE 把記錄寫到FILE檔案中

-a, --append-output=FILE 把記錄追加到FILE檔案中

-d, --debug 列印調試輸出

-q, --quiet 安靜模式(沒有輸出)

-v, --verbose 冗長模式(這是預設設定)

-nv, --non-verbose 關掉冗長模式,但不是安靜模式

-i, --input-file=FILE 下載在FILE檔案中出現的URLs

-F, --force-html 把輸入檔案當作HTML格式檔案對待

-B, --base=URL 將URL作為在-F -i參數指定的檔案中出現的相對連結的前綴

--sslcertfile=FILE 可選客戶端證書

--sslcertkey=KEYFILE 可選客戶端證書的KEYFILE

--egd-file=FILE 指定EGD socket的檔案名稱

下載:

--bind-address=ADDRESS 指定本地使用地址(主機名或IP,當本地有多個IP或名字時使用)

-t, --tries=NUMBER 設定最大嘗試連結次數(0 表示無限制).

-O --output-document=FILE 把文檔寫到FILE檔案中

-nc, --no-clobber 不要覆蓋存在的檔案或使用.#前綴

-c, --continue 接著下載沒下載完的檔案

--progress=TYPE 設定進程條標記

-N, --timestamping 不要重新下載檔案除非比本地檔案新

-S, --server-response列印伺服器的回應

--spider 不下載任何東西

-T, --timeout=SECONDS 設定回響逾時的秒數

-w, --wait=SECONDS 兩次嘗試之間間隔SECONDS秒

--waitretry=SECONDS 在重新連結之間等待1...SECONDS秒

--random-wait 在下載之間等待0...2*WAIT秒

-Y, --proxy=on/off 打開或關閉代理

-Q, --quota=NUMBER 設定下載的容量限制

--limit-rate=RATE 限定下載速率

目錄:

-nd --no-directories 不創建目錄

-x, --force-directories 強制創建目錄

-nH, --no-host-directories 不創建主機目錄

-P, --directory-prefix=PREFIX 將檔案保存到目錄 PREFIX/...

--cut-dirs=NUMBER 忽略 NUMBER層遠程目錄

HTTP 選項:

--http-user=USER 設定HTTP用戶名為 USER.

--http-passwd=PASS 設定http密碼為 PASS.

-C, --cache=on/off 允許/不允許伺服器端的數據快取(一般情況下允許).

-E, --html-extension 將所有text/html文檔以.html擴展名保存

--ignore-length 忽略 `Content-Length'頭域

--header=STRING 在headers中插入字元串 STRING

--proxy-user=USER 設定代理的用戶名為 USER

--proxy-passwd=PASS 設定代理的密碼為 PASS

--referer=URL 在HTTP請求中包含 `Referer: URL'頭

-s, --save-headers 保存HTTP頭到檔案

-U, --user-agent=AGENT 設定代理的名稱為 AGENT而不是 Wget/VERSION.

--no-http-keep-alive 關閉 HTTP活動連結 (永遠連結).

--cookies=off 不使用 cookies.

--load-cookies=FILE 在開始會話前從檔案 FILE中載入cookie

--save-cookies=FILE 在會話結束後將 cookies保存到 FILE檔案中

FTP 選項:

-nr, --dont-remove-listing 不移走 `.listing'檔案

-g, --glob=on/off 打開或關閉檔案名稱的 globbing機制

--passive-ftp 使用被動傳輸模式 (預設值).

--active-ftp 使用主動傳輸模式

--retr-symlinks 在遞歸的時候,將連結指向檔案(而不是目錄)

遞歸下載:

-r, --recursive 遞歸下載--慎用!

-l, --level=NUMBER 最大遞歸深度 (inf 或 0 代表無窮).

--delete-after 在完畢後局部刪除檔案

-k, --convert-links 轉換非相對連結為相對連結

-K, --backup-converted 在轉換檔案X之前,將之備份為 X.orig

-m, --mirror 等價於 -r -N -l inf -nr.

-p, --page-requisites 下載顯示HTML檔案的所有圖片

相關詞條

相關搜尋

熱門詞條