wget的幾種典型用法(介紹典型的)

wget的幾種典型用法(介紹典型的)

Wget可以下載http和ftp網站文件,小命令但功能強,它的參數很多,但常用的不多。

一. 最簡單的用法
wget http://download.xxx.com/soft/software.tar.gz

二. 下載整個網站

wget --mirror [--convert-links] http://www.xxxx.org/
或短寫參數:
wget -m [-k] http://www.xxxx.org

-m / --mirror:鏡像整個網站,它與“-r -l inf -N”這三個參數一起用效果相同
-r / --recursive:以遞歸方式抓取
-l depth / --level=depth:遞歸的深度,缺省最大值爲5,0或inf表示無限多
-N / --timestamping:時間戳,不知道有什麼用
-k / --convert-links:在全部下載完成之後,修改已下載頁面中的鏈接,如果鏈接所指向的文件也下在本地了,就指向這個文件,否則,就指向http上原來的文件

三. 下載特定類型的文件

下載圖片:
wget -m -p -np -nd --accept=jpg,jpeg,png http://www.xxx.com/top/page.html

-np / --no-parent:不下載指向上層的鏈接
--reject=avi,rmvb:不下載'.avi','.rmvb'類型的文件
--accept=jpg,jpeg:只下載'.jpg','.jpeg'類型的文件

四. 下載MP3

無人看守下載:
把文件的URL,如在百度搜的mp3的URL,存成一個文件,如songs,執行:
wget --input-file=songs --continue --timeout=20 --tries=5
即逐個下載songs中的URL,斷點續傳,對每個文件20秒超時重試5次

即時並行下載MP3 (後臺執行):
寫一腳本實現更好的功能:
echo 'Usage:'
echo '    Enter "URL filename" for each file to download.'
echo '    Enter "bye" to exit.'
while read -p '> ' url name; [ "$url" != "bye" ]
do
    if [ "$name" != "" ]
        then OUT="-O $name.${url##*.}"
        else OUT=""
    fi
    if [ "${url##*.}" == "$url" ]
        then echo "\"$url\" is an unexpected URL."
        else wget --continue --timeout=20 --tries=5 --background --output-file=/dev/null $url $OUT
    fi
done
echo ' enjoy!'
存爲文件“downsong”,並賦之予可執行權限。
用法:
./downsong
> http://music.xxx.com/zyfx.mp3 自由飛翔
> http://music.xxx.com/qtbhl.wma 秋天不回來
> http://music.xxx.com/zgh.mp3
......
輸完敲“bye”退出,wget會在後臺同時下載各個文件,這種方法比較快,用“ps aux | grep wget”查看進程。

五. 其它有用的參數說明

--tries=number / -t number:指定連接失敗時重試次數,0或inf表示無限重試,缺省值爲20。但如果遇到“連接被拒絕”或“文件沒找到(404)”之類的錯誤,則不重試

--timeout=seconds / -T seconds:指定seconds秒連接超時

--input-file=file / -i file:讀取file中的URL下載,如果用‘-’代替file,則從標準輸入讀取URL

--output-document=file / -O file:指定輸出文件名爲file

--no-clobber / -nc:通常在遇到下下來的文件重名,wget將爲後下的文件加上‘.1’,‘.2’等加以區分。如果用了這個參數,則一旦後下的文件將與先下的同名,將不再下載後下的文件而保留先下的不變

--no-directories / -nd:保存文件時,即使原來不在一起的文件,也不創建文件夾,所有文件全放在當前目錄下

--page-requisites / -p:下載html文件時,把與它有關的圖片,聲音,腳本等相關文件一同下下來

--continue / -c:啓用斷點續傳

--background / -b:在後臺下載,不佔用命令行。此時若沒用‘-o’指定把輸出信息送到哪個文件,會自動把輸出信息送入當前目錄下的wget-log中

--output-file=logfile / -o logfile:指定輸出信息送入logfile

--quiet / -q:關閉輸出信息

# 參考資料:wget manpage.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章