wget是一個命令行工具——是歷史上最快的單線程傳輸工具,用於下載網站/批量文件,支持HTTP和FTP。 它的任務就是獲取互聯網。首先,基本上所有的面向個人計算機的Linux都帶 wget。
wget是一個從網絡上自動下載文件的自由工具。它支持HTTP,HTTPS和FTP協議,可以使用HTTP代理.
所謂的自動下載是指,wget可以在用戶退出系統的之後在後台執行。這意味這你可以登錄系統,啟動一個wget下載任務,然後退出系統,wget將在後台執行直到任務完成,相對於其它大部分浏覽器在下載大量數據時需要用戶一直的參與,這省去了極大的麻煩。
wget可以跟蹤HTML頁面上的鏈接依次下載來創建遠程服務器的本地版本,完全重建原始站點的目錄結構。這又常被稱作"遞歸下載"。在遞歸下載的時候,wget遵循Robot Exclusion標准(/robots.txt). wget可以在下載的同時,將鏈接轉換成指向本地文件,以方便離線浏覽。
wget非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性.如果是由於網絡的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務器打斷下載過程,它會再次聯到服務器上從停止的地方繼續下載。這對從那些限定了鏈接時間的服務器上下載大文件非常有用
wget [options] [URL]
wget -r -p -np -k [url]
# 或者
wget -m [url]
wget -t 0 -w 31 -c [url] -o down.log &
wget -t 0 -w 31 -c -B [url] -i filelist.txt -o down.log &
上面的代碼還可以用來在網絡比較空閒的時段進行下載。我的用法是:在mozilla中將不方便當時下載的URL鏈接拷貝到內存中然後粘貼到文件filelist.txt中,在晚上要出去系統前執行上面代碼的第二條。
wget -Y on -p -k [url]
代理可以在環境變量或wgetrc文件中設定
export PROXY=http://211.90.168.94:8080/
http_proxy = http://proxy.yoyodyne.com:18023/ ftp_proxy = http://proxy.yoyodyne.com:18023/
如果我們想下載ftp裡面某個目錄裡面的所有文件,
wget -r ftp://10.8.8.8/movie/
呵呵,等吧!下完了,發覺有些不對勁,怎麼出來個10.8.8.8的目錄,進去看看,又是一個movie,哦,wget將目錄結構和網站標題都給記錄下來了,不要??沒有問題!比如說還是這個例子
wget -r -nd ftp://10.8.8.8/movie/
結果什麼目錄都沒有了,faint!怎麼會這樣?呵呵,你如果想要這樣就讓它這樣吧,否則使用
wget -r -nH ftp://10.8.8.8/movie/
恩?movie也不要?OK,那就這樣
wget -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/
斷線了?超時了? 加個 -c 繼續
wget -c -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/
我們下載這裡面所有的宏包,呵呵
wget -r -k http://www.ctan.org/tex-archive/macros/latex/
-k表示將連接轉換為本地連接。但是現在同樣有上面的問題啊,那就把你需要的加上吧,另外也許你根本不需要向下走那麼多層,比如,我們就要到第二層,那麼
wget -r -l2 -k http://www.ctan.org/tex-archive/macros/latex/
現在新的問題是,由於網頁有一個排序功能,很討厭,因為下載的時候把網頁重復了好多次,那麼我們可使用-A和-R開關控制下載類型,並且可以使用通配符,呵呵,現在隨心所欲了吧
wget -r -R ".htm\?*" -k http://www.ctan.org/tex-archive/macros/latex/
這次沒有那種網頁了吧?-R的意義在於拒絕下載匹配類型的文件,-A表示僅僅接受的文件類型,如-A "*.gif"將僅下載gif圖片,如果有多個允許或者不允許,可以使用,分開。
那麼,我們現在在使用代理服務器,怎麼辦呢?呵呵,很高興你選擇了wget,你可以使用它的配置文件,環境變量來利用代理。這裡推薦使用環境變量,如在 bash裡面我們可以把天天用的proxy加到.bash_profile裡面,這是Linux標准寫法(很多軟件都用的,什麼apt-get,yum等等)
export http_proxy=http://10.20.30.40:8080/
然後,proxy就默認打開了,如果需要暫時關閉,可以使用
wget --proxy=off -r -k http://www.ctan.org/tex-archive/ma