複製鏈接
請複製以下鏈接發送給好友

wget

鎖定
wget 是一個從網絡上自動下載文件的自由工具,支持通過 HTTPHTTPS、FTP 三個最常見的 TCP/IP協議 下載,並可以使用 HTTP 代理。"wget" 這個名稱來源於 “World Wide Web” 與 “get” 的結合。
所謂自動下載,是指 wget 可以在用户退出系統的之後在繼續後台執行,直到下載任務完成。
外文名
wget
類    別
下載工具
命令格式
[options] [URL]
解    釋
從網絡上自動下載文件的自由工具

wget啓動參數

這一類參數主要提供軟件的一些基本信息。
-V,--version 顯示軟件版本號然後退出;
-h,--help顯示軟件幫助信息;
-e,--execute=COMMAND 執行一個 “.wgetrc”命令
以上每一個功能有長短兩個參數,長短功能一樣,都可以使用。需要注意的是,這裏的-e參數是執行一個.wgettrc的命令,.wgettrc命令其實是一個參數列表,直接將軟件需要的參數寫在一起就可以了。

wget文件參數

這類參數定義軟件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級目錄結構

wget下載參數

下載參數定義下載重複次數、保存文件名等。
-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

wget目錄參數

目錄參數主要設置下載文件保存目錄與原來文件(服務器文件)的目錄對應關係;
-nd --no-directories 不建立目錄
-x,--force-directories 強制建立目錄
可能我們對這裏的目錄還不是很瞭解,我們來看一個舉例
例:下載的首頁,並且保持網站結構
wget -x

wgetHTTP參數

HTTP參數設置一些與HTTP下載有關的屬性。
--http-user=USER設置HTTP用户
--http-passwd=PASS設置HTTP密碼
--proxy-user=USER設置代理用户
--proxy-passwd=PASS設置代理密碼
以上參數主要設置HTTP和代理的用户、密碼;

wget遞歸參數設置

在下載一個網站或者網站的一個目錄的時候,我們需要知道的下載的層次,這些參數就可以設置。
-r,--recursive 下載整個網站、目錄(小心使用)
-l,--level=NUMBER 下載層次
例:下載整個網站
wget -r

wget拒絕選項參數

下載一個網站的時候,為了儘量快,有些文件可以選擇下載,比如圖片和聲音,在這裏可以設置。
-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服務器

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協議所使用的代理服務器。

wget代碼總表

啓動:
-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文件的所有圖片