wget——Linux下Web文件提取工具
wget是一個Linux環境下用于從World?Wide?Web上提取文件的工具,這是一個GPL許可
證下的自由軟件,其作者為Hrvoje?Niksic?<hniksic@srce.hr>。wget支持HTTP和FTP
協議,支持代理服務器和斷點續傳功能,能夠自動遞歸遠程主機的目錄,找到合乎條
件的文件并將其下載到本地硬盤上;如果必要,wget將恰當地轉換頁面中的超級連接
以在本地生成可瀏覽的鏡像。由于沒有交互式界面,wget可在后臺運行,截獲并忽略
HANGUP信號,因此在用戶推出登錄以后,仍可繼續運行。通常,wget用于成批量地下
載Internet網站上的文件,或制作遠程網站的鏡像。
語法:
????wget?[options]?[URL-list]
URL地址格式說明:可以使用如下格式的URL:
????http://host[:port]/path
例如:
????http://fly.cc.fer.hr/
????ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz
????ftp://username:password@host/dir/file?
在最后一種形式中,以URL編碼形式為FTP主機提供了用戶名和密碼(當然,也可以使
用參數提供該信息,見后)。
參數說明:
wget的參數較多,但大部分應用只需要如下幾個常用的參數:
????-r????遞歸;對于HTTP主機,wget首先下載URL指定的文件,然后(如果該文件是
????一個HTML文檔的話)遞歸下載該文件所引用(超級連接)的所有文件(遞歸深度
????由參數-l指定)。對FTP主機,該參數意味著要下載URL指定的目錄中的所有文件,
????遞歸方法與HTTP主機類似。
????-N????時間戳:該參數指定wget只下載更新的文件,也就是說,與本地目錄中的對
????應文件的長度和最后修改日期一樣的文件將不被下載。
????-m????鏡像:相當于同時使用-r和-N參數。
????-l????設置遞歸級數;默認為5。-l1相當于不遞歸;-l0為無窮遞歸;注意,當遞
????歸深度增加時,文件數量將呈指數級增長。
????-t?????設置重試次數。當連接中斷(或超時)時,wget將試圖重新連接。如果指
????定-t0,則重試次數設為無窮多。
????-c????指定斷點續傳功能。實際上,wget默認具有斷點續傳功能,只有當你使用別
????的ftp工具下載了某一文件的一部分,并希望wget接著完成此工作的時候,才需要
????指定此參數。
使用舉例:
????wget?-m?-l4?-t0?http://oneweb.com.cn/
將在本地硬盤建立http://oneweb.com.cn/的鏡像,鏡像文件存入當前目錄下一個名為
oneweb.com.cn的子目錄中(你也可以使用-nH參數指定不建立該子目錄,而直接在當前
目錄下建立鏡像的目錄結構),遞歸深度為4,重試次數為無窮(若連接出現問題,
wget將堅韌不拔地永遠重試下去,知道任務完成!)
另外一些使用頻率稍低的參數如下:
????-A?acclist?/?-R?rejlist:
這兩個參數用于指定wget接受或排除的文件擴展名,多個名稱之間用逗號隔開。例如,
假設我們不想下載MPEG視頻影像文件和.AU聲音文件,可使用如下參數:
????-R?mpg,mpeg,au
其它參數還有:
????-L?????只擴展相對連接,該參數對于抓取指定站點很有用,可以避免向宿主主機
????的其他目錄擴散。例如,某個人網站地址為:http://www.xys.org/~ppfl/,使用
????如下命令行:
????wget?-L?http://www.xys.org/~ppfl/
????則只提取該個人網站,而不涉及主機www.xys.org上的其他目錄。
????-k????轉換連接:HTML文件存盤時,將其中的非相對連接轉換成為相對連接。
????-X????在下載FTP主機上的文件時,排除若干指定的目錄
另外,下面參數用于設置wget的工作界面:
????-v????設置wget輸出詳細的工作信息。
????-q????設置wget不輸出任何信息。
如果我們已經在一個HTML文檔(或普通文本文檔)中存儲了所要提取的文件的連接,
可以讓wget直接從該文件中提取信息,而不用在命令行中提供URL地址,參數格式為:
????-i?filename
地址文件也可以不是HTML文檔,例如,一個普通的文本文件,其中有需要下載的URL列
表即可。
我們可以用以下技巧提高下載速度:由于Linux是一個多任務系統,我們可以同時運行
多個wget進程以提高下載速度,例如,先下載某主頁文件(index.html),然后將該
文件所列出的所有地址分別用一個獨立的wget進程進行下載。
至于其他的參數,可參考wget的man手冊頁,命令為:
????man?wget
from: http://fanqiang.chinaunix.net/a6/b9/20020514/060201225.html
證下的自由軟件,其作者為Hrvoje?Niksic?<hniksic@srce.hr>。wget支持HTTP和FTP
協議,支持代理服務器和斷點續傳功能,能夠自動遞歸遠程主機的目錄,找到合乎條
件的文件并將其下載到本地硬盤上;如果必要,wget將恰當地轉換頁面中的超級連接
以在本地生成可瀏覽的鏡像。由于沒有交互式界面,wget可在后臺運行,截獲并忽略
HANGUP信號,因此在用戶推出登錄以后,仍可繼續運行。通常,wget用于成批量地下
載Internet網站上的文件,或制作遠程網站的鏡像。
語法:
????wget?[options]?[URL-list]
URL地址格式說明:可以使用如下格式的URL:
????http://host[:port]/path
例如:
????http://fly.cc.fer.hr/
????ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz
????ftp://username:password@host/dir/file?
在最后一種形式中,以URL編碼形式為FTP主機提供了用戶名和密碼(當然,也可以使
用參數提供該信息,見后)。
參數說明:
wget的參數較多,但大部分應用只需要如下幾個常用的參數:
????-r????遞歸;對于HTTP主機,wget首先下載URL指定的文件,然后(如果該文件是
????一個HTML文檔的話)遞歸下載該文件所引用(超級連接)的所有文件(遞歸深度
????由參數-l指定)。對FTP主機,該參數意味著要下載URL指定的目錄中的所有文件,
????遞歸方法與HTTP主機類似。
????-N????時間戳:該參數指定wget只下載更新的文件,也就是說,與本地目錄中的對
????應文件的長度和最后修改日期一樣的文件將不被下載。
????-m????鏡像:相當于同時使用-r和-N參數。
????-l????設置遞歸級數;默認為5。-l1相當于不遞歸;-l0為無窮遞歸;注意,當遞
????歸深度增加時,文件數量將呈指數級增長。
????-t?????設置重試次數。當連接中斷(或超時)時,wget將試圖重新連接。如果指
????定-t0,則重試次數設為無窮多。
????-c????指定斷點續傳功能。實際上,wget默認具有斷點續傳功能,只有當你使用別
????的ftp工具下載了某一文件的一部分,并希望wget接著完成此工作的時候,才需要
????指定此參數。
使用舉例:
????wget?-m?-l4?-t0?http://oneweb.com.cn/
將在本地硬盤建立http://oneweb.com.cn/的鏡像,鏡像文件存入當前目錄下一個名為
oneweb.com.cn的子目錄中(你也可以使用-nH參數指定不建立該子目錄,而直接在當前
目錄下建立鏡像的目錄結構),遞歸深度為4,重試次數為無窮(若連接出現問題,
wget將堅韌不拔地永遠重試下去,知道任務完成!)
另外一些使用頻率稍低的參數如下:
????-A?acclist?/?-R?rejlist:
這兩個參數用于指定wget接受或排除的文件擴展名,多個名稱之間用逗號隔開。例如,
假設我們不想下載MPEG視頻影像文件和.AU聲音文件,可使用如下參數:
????-R?mpg,mpeg,au
其它參數還有:
????-L?????只擴展相對連接,該參數對于抓取指定站點很有用,可以避免向宿主主機
????的其他目錄擴散。例如,某個人網站地址為:http://www.xys.org/~ppfl/,使用
????如下命令行:
????wget?-L?http://www.xys.org/~ppfl/
????則只提取該個人網站,而不涉及主機www.xys.org上的其他目錄。
????-k????轉換連接:HTML文件存盤時,將其中的非相對連接轉換成為相對連接。
????-X????在下載FTP主機上的文件時,排除若干指定的目錄
另外,下面參數用于設置wget的工作界面:
????-v????設置wget輸出詳細的工作信息。
????-q????設置wget不輸出任何信息。
如果我們已經在一個HTML文檔(或普通文本文檔)中存儲了所要提取的文件的連接,
可以讓wget直接從該文件中提取信息,而不用在命令行中提供URL地址,參數格式為:
????-i?filename
地址文件也可以不是HTML文檔,例如,一個普通的文本文件,其中有需要下載的URL列
表即可。
我們可以用以下技巧提高下載速度:由于Linux是一個多任務系統,我們可以同時運行
多個wget進程以提高下載速度,例如,先下載某主頁文件(index.html),然后將該
文件所列出的所有地址分別用一個獨立的wget進程進行下載。
至于其他的參數,可參考wget的man手冊頁,命令為:
????man?wget
from: http://fanqiang.chinaunix.net/a6/b9/20020514/060201225.html
posted on 2006-11-17 09:56 weidagang2046 閱讀(1594) 評論(0) 編輯 收藏 所屬分類: Linux