The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
          這個命令可以以遞歸的方式下載整站,并可以將下載的頁面中的鏈接轉(zhuǎn)換為本地鏈接。

          wget加上參數(shù)之后,即可成為相當(dāng)強(qiáng)大的下載工具。

          wget -r -p -np -k /var/lcoal/  http://xxx.com/abc/

          -r,  --recursive(遞歸)          specify recursive download.(指定遞歸下載)
          -k,  --convert-links(轉(zhuǎn)換鏈接)      make links in downloaded HTML point to local files.(將下載的HTML頁面中的鏈接轉(zhuǎn)換為相對鏈接即本地鏈接)
          -p,  --page-requisites(頁面必需元素)    get all images, etc. needed to display HTML page.(下載所有的圖片等頁面顯示所需的內(nèi)容)
          -np, --no-parent(不追溯至父級)          don't ascend to the parent directory.
          • --restrict-file-names=nocontrol 用來解決中文亂碼問題
          另外斷點(diǎn)續(xù)傳用-nc參數(shù) 日志 用-o參數(shù)

          1、使用wget下載單個文件
          以下的例子是從網(wǎng)絡(luò)下載一個文件并保存在當(dāng)前目錄

          wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

          在下載的過程中會顯示進(jìn)度條,包含(下載完成百分比,已經(jīng)下載的字節(jié),當(dāng)前下載速度,剩余下載時間)。

          2、使用wget -O下載并以不同的文件名保存

          wget默認(rèn)會以最后一個符合“/”的后面的字符來命令,對于動態(tài)鏈接的下載通常文件名會不正確。 錯誤:下面的例子會下載一個文件并以名稱download.php?id=1080保存

          wget http://www.4wei.cn/download?id=1

          即使下載的文件是zip格式,它仍然以download.php?id=1080命令。 正確:為了解決這個問題,我們可以使用參數(shù)-O來指定一個文件名:

          wget -O wordpress.zip http://www.4wei.cn/download.php?id=1080

          3、使用wget --limit -rate限速下載

          當(dāng)你執(zhí)行wget的時候,它默認(rèn)會占用全部可能的寬帶下載。但是當(dāng)你準(zhǔn)備下載一個大文件,而你還需要下載其它文件時就有必要限速了。

          wget --limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

          4、使用wget -c斷點(diǎn)續(xù)傳

          使用wget -c重新啟動下載中斷的文件:

          wget -c http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

          對于我們下載大文件時突然由于網(wǎng)絡(luò)等原因中斷非常有幫助,我們可以繼續(xù)接著下載而不是重新下載一個文件。需要繼續(xù)中斷的下載時可以使用-c參數(shù)。

          5、使用wget -b后臺下載

          對于下載非常大的文件的時候,我們可以使用參數(shù)-b進(jìn)行后臺下載。

          wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

          Continuing in background, pid 1840.

          Output will be written to `wget-log‘。

          你可以使用以下命令來察看下載進(jìn)度

          tail -f wget-log

          6、偽裝代理名稱下載

          有些網(wǎng)站能通過根據(jù)判斷代理名稱不是瀏覽器而拒絕你的下載請求。不過你可以通過--user-agent參數(shù)偽裝。

          wget --user-agent="Chrome/10.0.648.204" url

          7、使用wget --spider測試下載鏈接

          當(dāng)你打算進(jìn)行定時下載,你應(yīng)該在預(yù)定時間測試下載鏈接是否有效。我們可以增加--spider參數(shù)進(jìn)行檢查。

          wget --spider URL

          如果下載鏈接正確,將會顯示

          wget --spider URL

          Spider mode enabled. Check if remote file exists.

          HTTP request sent, awaiting response. 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled -- not retrieving.

          這保證了下載能在預(yù)定的時間進(jìn)行,但當(dāng)你給錯了一個鏈接,將會顯示如下錯誤

          wget --spider url

          Spider mode enabled.

          Check if remote file exists. HTTP request sent, awaiting response.。。 404 Not Found Remote file does not exist -- broken link?。?!

          你可以在以下幾種情況下使用spider參數(shù):

          7.1定時下載之前進(jìn)行檢查

          7.2間隔檢測網(wǎng)站是否可用

          7.3檢查網(wǎng)站頁面的死鏈接

          8、使用wget --tries增加重試次數(shù)

          如果網(wǎng)絡(luò)有問題或下載一個大文件也有可能失敗。wget默認(rèn)重試20次連接下載文件。如果需要,你可以使用--tries增加重試次數(shù)。

          wget --tries=40 URL

          9、使用wget -i下載多個文件

          首先,保存一份下載鏈接文件

          cat > filelist.txt url1 url2 url3 url4

          接著使用這個文件和參數(shù)-i下載

          wget -i filelist.txt

          10、使用wget --mirror鏡像網(wǎng)站

          下面的例子是下載整個網(wǎng)站到本地。

          wget --mirror -p --convert-links -P ./LOCAL URL

          --miror:開戶鏡像下載

          -p:下載所有為了html頁面顯示正常的文件

          --convert-links:下載后,轉(zhuǎn)換成本地的鏈接

          -P ./LOCAL:保存所有文件和目錄到本地指定目錄

          11、使用wget --reject過濾指定格式下載

          你想下載一個網(wǎng)站,但你不希望下載圖片,你可以使用以下命令。

          wget --reject=gif url

          12、使用wget -o把下載信息存入日志文件

          你不希望下載信息直接顯示在終端而是在一個日志文件,可以使用以下命令:

          wget -o download.log URL

          13、使用wget -Q限制總下載文件大小

          當(dāng)你想要下載的文件超過5M而退出下載,你可以使用以下命令:

          wget -Q5m -i filelist.txt

          注意:這個參數(shù)對單個文件下載不起作用,只能遞歸下載時才有效。

          14、使用wget -r -A下載指定格式文件

          可以在以下情況使用該功能

          下載一個網(wǎng)站的所有圖片

          下載一個網(wǎng)站的所有視頻

          下載一個網(wǎng)站的所有PDF文件

          wget -r -A.pdf url

          15、使用wget FTP下載

          你可以使用wget來完成ftp鏈接的下載。 使用wget匿名ftp下載

          wget ftp-url

          使用wget用戶名和密碼認(rèn)證的ftp下載

          wget --ftp-user=USERNAME --ftp-password=PASSWORD url

            Wget 的使用
            
          1)支持?jǐn)帱c(diǎn)下傳功能
          2)同時支持FTP和HTTP下載方式
          3)支持代理服務(wù)器
          4)設(shè)置方便簡單
          5)程序小,完全免費(fèi);  
          命令格式:  
            wget [參數(shù)列表] [目標(biāo)軟件、網(wǎng)頁的網(wǎng)址]
            
            1、啟動類參數(shù)
            
            這一類參數(shù)主要提供軟件的一些基本信息;
            
            -V,--version 顯示軟件版本號然后退出;
            -h,--help顯示軟件幫助信息;
            -e,--execute=COMMAND 執(zhí)行一個 “.wgetrc”命令
            
            以上每一個功能有長短兩個參數(shù),長短功能一樣,都可以使用。需要注意的是,這里的-e參數(shù)是執(zhí)行一個.wgettrc的命令,.wgettrc命令其實是一個參數(shù)列表,直接將軟件需要的參數(shù)寫在一起就可以了。
            
            2、文件處理參數(shù)
            
            這類參數(shù)定義軟件log文件的輸出方式等;
            
            -o,--output-file=FILE 將軟件輸出信息保存到文件;
            -a,--append-output=FILE將軟件輸出信息追加到文件;
            -d,--debug顯示輸出信息;
            -q,--quiet 不顯示輸出信息;
            -i,--input-file=FILE 從文件中取得URL;
            
            以上參數(shù)對于攻擊者比較有用,我們來看看具體使用;
            
            例1:下載192.168.1.168首頁并且顯示下載信息
            wget -dhttp://192.168.1.168
            
            例2:下載192.168.1.168首頁并且不顯示任何信息
            wget -qhttp://192.168.1.168
            
            例3:下載filelist.txt中所包含的鏈接的所有文件
            wget -i filelist.txt
            
            
            wget -np -m -l5 http://jpstone.bokee.com //不下載本站所鏈接的其它站點(diǎn)內(nèi)容,5級目錄結(jié)構(gòu)
            3、下載參數(shù)
            
            下載參數(shù)定義下載重復(fù)次數(shù)、保存文件名等;
            
            -t,--tries=NUMBER 是否下載次數(shù)(0表示無窮次)
            -O --output-document=FILE下載文件保存為別的文件名
            -nc, --no-clobber 不要覆蓋已經(jīng)存在的文件
            -N,--timestamping只下載比本地新的文件
            -T,--timeout=SECONDS 設(shè)置超時時間
            -Y,--proxy=on/off 關(guān)閉代理
            
            例:下載192.168.1.168的首頁并將下載過程中的的輸入信息保存到test.htm文件中
            wget -o test.htmhttp://192.168.1.168
            
            4、目錄參數(shù)
            
            目錄參數(shù)主要設(shè)置下載文件保存目錄與原來文件(服務(wù)器文件)的目錄對應(yīng)關(guān)系;
            
            -nd --no-directories 不建立目錄
            -x,--force-directories 強(qiáng)制建立目錄
            可能現(xiàn)在我們對這里的目錄還不是很了解,我們來看一個舉例
            
            例:下載192.168.1.168的首頁,并且保持網(wǎng)站結(jié)構(gòu)
            wget -xhttp://192.168.1.168
            
            
            5、HTTP參數(shù)
            
            HTTP參數(shù)設(shè)置一些與HTTP下載有關(guān)的屬性;
            
            --http-user=USER設(shè)置HTTP用戶
            --http-passwd=PASS設(shè)置HTTP密碼
            --proxy-user=USER設(shè)置代理用戶
            --proxy-passwd=PASS設(shè)置代理密碼
            
            以上參數(shù)主要設(shè)置HTTP和代理的用戶、密碼;
            
            6、遞歸參數(shù)設(shè)置
            
            在下載一個網(wǎng)站或者網(wǎng)站的一個目錄的時候,我們需要知道的下載的層次,這些參數(shù)就可以設(shè)置;
            -r,--recursive 下載整個網(wǎng)站、目錄(小心使用)
            -l,--level=NUMBER 下載層次
            
            例:下載整個網(wǎng)站
            wget -rhttp://192.168.1.168
            
            7、遞歸允許與拒絕選項參數(shù)
            
            下載一個網(wǎng)站的時候,為了盡量快,有些文件可以選擇下載,比如圖片和聲音,在這里可以設(shè)置;
            
            -A,--accept=LIST 可以接受的文件類型
            -R,--reject=LIST拒絕接受的文件類型
            -D,--domains=LIST可以接受的域名
            --exclude-domains=LIST拒絕的域名
            -L,--relative 下載關(guān)聯(lián)鏈接
            --follow-ftp 只下載FTP鏈接
            -H,--span-hosts 可以下載外面的主機(jī)
            -I,--include-directories=LIST允許的目錄
            -X,--exclude-directories=LIST 拒絕的目錄
            
            
            如何設(shè)定wget所使用的代理服務(wù)器
            wget可以使用用戶設(shè)置文件".wgetrc"來讀取很多設(shè)置,我們這里主要利用這個文件來是
            設(shè)置代理服務(wù)器。使用者用什么用戶登錄,那么什么用戶主目錄下的".wgetrc"文件就起
            作用。例如,"root"用戶如果想使用".wgetrc"來設(shè)置代理服務(wù)器,"/root/.wgetrc"就起
            作用,下面給出一個".wgetrc"文件的內(nèi)容,讀者可以參照這個例子來編寫自己的"wgetrc"文件:
            http-proxy = 111.111.111.111:8080
            ftp-proxy = 111.111.111.111:8080
            這兩行的含義是,代理服務(wù)器IP地址為:111.111.111.111,端口號為:80。第一行指定
            HTTP協(xié)議所使用的代理服務(wù)器,第二行指定FTP協(xié)議所使用的代理服務(wù)器。
            
            
            
            WGet使用指南
            wget是一個從網(wǎng)絡(luò)上自動下載文件的自由工具。它支持HTTP,HTTPS和FTP協(xié)議,可以使用HTTP代理.
            
            所謂的自動下載是指,wget可以在用戶退出系統(tǒng)的之后在后臺執(zhí)行。這意味這你可以登錄系統(tǒng),啟動一個wget下載任務(wù),然后退出系統(tǒng),wget將在后臺執(zhí)行直到任務(wù)完成,相對于其它大部分瀏覽器在下載大量數(shù)據(jù)時需要用戶一直的參與,這省去了極大的麻煩。
            
            wget 可以跟蹤HTML頁面上的鏈接依次下載來創(chuàng)建遠(yuǎn)程服務(wù)器的本地版本,完全重建原始站點(diǎn)的目錄結(jié)構(gòu)。這又常被稱作”遞歸下載”。在遞歸下載的時候,wget 遵循Robot Exclusion標(biāo)準(zhǔn)(/robots.txt). wget可以在下載的同時,將鏈接轉(zhuǎn)換成指向本地文件,以方便離線瀏覽。
            
            wget 非常穩(wěn)定,它在帶寬很窄的情況下和不穩(wěn)定網(wǎng)絡(luò)中有很強(qiáng)的適應(yīng)性.如果是由于網(wǎng)絡(luò)的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務(wù) 器打斷下載過程,它會再次聯(lián)到服務(wù)器上從停止的地方繼續(xù)下載。這對從那些限定了鏈接時間的服務(wù)器上下載大文件非常有用。
            
            wget的常見用法
            wget的使用格式
            
            Usage: wget [OPTION]... [URL]...用wget做站點(diǎn)鏡像:
            wget -r -p -np -khttp://dsec.pku.edu.cn/~us..
            # 或者
            wget -mhttp://www.tldp.org/LDP/ab...在不穩(wěn)定的網(wǎng)絡(luò)上下載一個部分下載的文件,以及在空閑時段下載
            wget -t 0 -w 31 -chttp://dsec.pku.edu.cn/BBC.. -o down.log &
            # 或者從filelist讀入要下載的文件列表
            wget -t 0 -w 31 -c -Bftp://dsec.pku.edu.cn/linu.. -i filelist.txt -o down.log &上面的代碼還可以用來在網(wǎng)絡(luò)比較空閑的時段進(jìn)行下載。我的用法是:在mozilla中將不方便當(dāng)時下載的URL鏈接拷貝到內(nèi)存中然后粘貼到文件 filelist.txt中,在晚上要出去系統(tǒng)前執(zhí)行上面代碼的第二條。
            
            使用代理下載
            wget -Y on -p -khttps://sourceforge.net/pr...代理可以在環(huán)境變量或wgetrc文件中設(shè)定
            
            # 在環(huán)境變量中設(shè)定代理
            export PROXY=http://211.90.168.94:8080/
            # 在~/.wgetrc中設(shè)定代理
            http_proxy =http://proxy.yoyodyne.com:..
            ftp_proxy =http://proxy.yoyodyne.com:...各種選項分類列表
            啟動
            -V, --version 顯示wget的版本后退出
            -h, --help 打印語法幫助
            -b, --background 啟動后轉(zhuǎn)入后臺執(zhí)行
            -e, --execute=COMMAND 執(zhí)行`.wgetrc"格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc記錄和輸入文件
            -o, --output-file=FILE 把記錄寫到FILE文件中
            -a, --append-output=FILE 把記錄追加到FILE文件中
            -d, --debug 打印調(diào)試輸出
            -q, --quiet 安靜模式(沒有輸出)
            -v, --verbose 冗長模式(這是缺省設(shè)置)
            -nv, --non-verbose 關(guān)掉冗長模式,但不是安靜模式
            -i, --input-file=FILE 下載在FILE文件中出現(xiàn)的URLs
            -F, --force-html 把輸入文件當(dāng)作HTML格式文件對待
            -B, --base=URL 將URL作為在-F -i參數(shù)指定的文件中出現(xiàn)的相對鏈接的前綴
            --sslcertfile=FILE 可選客戶端證書
            --sslcertkey=KEYFILE 可選客戶端證書的KEYFILE
            --egd-file=FILE 指定EGD socket的文件名下載
            --bind-address=ADDRESS 指定本地使用地址(主機(jī)名或IP,當(dāng)本地有多個IP或名字時使用)
            -t, --tries=NUMBER 設(shè)定最大嘗試鏈接次數(shù)(0 表示無限制).
            -O --output-document=FILE 把文檔寫到FILE文件中
            -nc, --no-clobber 不要覆蓋存在的文件或使用.#前綴
            -c, --continue 接著下載沒下載完的文件
            --progress=TYPE 設(shè)定進(jìn)程條標(biāo)記
            -N, --timestamping 不要重新下載文件除非比本地文件新
            -S, --server-response 打印服務(wù)器的回應(yīng)
            --spider 不下載任何東西
            -T, --timeout=SECONDS 設(shè)定響應(yīng)超時的秒數(shù)
            -w, --wait=SECONDS 兩次嘗試之間間隔SECONDS秒
            --waitretry=SECONDS 在重新鏈接之間等待1...SECONDS秒
            --random-wait 在下載之間等待0...2*WAIT秒
            -Y, --proxy=on/off 打開或關(guān)閉代理
            -Q, --quota=NUMBER 設(shè)置下載的容量限制
            --limit-rate=RATE 限定下載輸率目錄
            -nd --no-directories 不創(chuàng)建目錄
            -x, --force-directories 強(qiáng)制創(chuàng)建目錄
            -nH, --no-host-directories 不創(chuàng)建主機(jī)目錄
            -P, --directory-prefix=PREFIX 將文件保存到目錄 PREFIX/...
            --cut-dirs=NUMBER 忽略 NUMBER層遠(yuǎn)程目錄HTTP 選項
            --http-user=USER 設(shè)定HTTP用戶名為 USER.
            --http-passwd=PASS 設(shè)定http密碼為 PASS.
            -C, --cache=on/off 允許/不允許服務(wù)器端的數(shù)據(jù)緩存 (一般情況下允許).
            -E, --html-extension 將所有text/html文檔以.html擴(kuò)展名保存
            --ignore-length 忽略 `Content-Length"頭域
            --header=STRING 在headers中插入字符串 STRING
            --proxy-user=USER 設(shè)定代理的用戶名為 USER
            --proxy-passwd=PASS 設(shè)定代理的密碼為 PASS
            --referer=URL 在HTTP請求中包含 `Referer: URL"頭
            -s, --save-headers 保存HTTP頭到文件
            -U, --user-agent=AGENT 設(shè)定代理的名稱為 AGENT而不是 Wget/VERSION.
            --no-http-keep-alive 關(guān)閉 HTTP活動鏈接 (永遠(yuǎn)鏈接).
            --cookies=off 不使用 cookies.
            --load-cookies=FILE 在開始會話前從文件 FILE中加載cookie
            --save-cookies=FILE 在會話結(jié)束后將 cookies保存到 FILE文件中FTP 選項
            -nr, --dont-remove-listing 不移走 `.listing"文件
            -g, --glob=on/off 打開或關(guān)閉文件名的 globbing機(jī)制
            --passive-ftp 使用被動傳輸模式 (缺省值).
            --active-ftp 使用主動傳輸模式
            --retr-symlinks 在遞歸的時候,將鏈接指向文件(而不是目錄)遞歸下載
            -r, --recursive 遞歸下載--慎用!
            -l, --level=NUMBER 最大遞歸深度 (inf 或 0 代表無窮).
            --delete-after 在現(xiàn)在完畢后局部刪除文件
            -k, --convert-links 轉(zhuǎn)換非相對鏈接為相對鏈接
            -K, --backup-converted 在轉(zhuǎn)換文件X之前,將之備份為 X.orig
            -m, --mirror 等價于 -r -N -l inf -nr.
            -p, --page-requisites 下載顯示HTML文件的所有圖片遞歸下載中的包含和不包含(accept/reject)
            -A, --accept=LIST 分號分隔的被接受擴(kuò)展名的列表
            -R, --reject=LIST 分號分隔的不被接受的擴(kuò)展名的列表
            -D, --domains=LIST 分號分隔的被接受域的列表
            --exclude-domains=LIST 分號分隔的不被接受的域的列表
            --follow-ftp 跟蹤HTML文檔中的FTP鏈接
            --follow-tags=LIST 分號分隔的被跟蹤的HTML標(biāo)簽的列表
            -G, --ignore-tags=LIST 分號分隔的被忽略的HTML標(biāo)簽的列表
            -H, --span-hosts 當(dāng)遞歸時轉(zhuǎn)到外部主機(jī)
            -L, --relative 僅僅跟蹤相對鏈接
            -I, --include-directories=LIST 允許目錄的列表
            -X, --exclude-directories=LIST 不被包含目錄的列表
            -np, --no-parent 不要追溯到父目錄
            
            
            Wget使用技巧 
            wget的使用形式是:
            wget [參數(shù)列表] URL
            首先來介紹一下wget的主要參數(shù):
            ? -b:讓wget在后臺運(yùn)行,記錄文件寫在當(dāng)前目錄下"wget-log"文件中;
            ? -t [nuber of times]:嘗試次數(shù),當(dāng)wget無法與服務(wù)器建立連接時,嘗試連接多少次
            。比如"-t
            120"表示嘗試120次。當(dāng)這一項為"0"的時候,指定嘗試無窮多次直到連接成功為止,這個
            設(shè)置非常有用,當(dāng)對方服務(wù)器突然關(guān)機(jī)或者網(wǎng)絡(luò)突然中斷的時候,可以在恢復(fù)正常后繼續(xù)
            下載沒有傳完的文件;
            ? -c:斷點(diǎn)續(xù)傳,這也是個非常有用的設(shè)置,特別當(dāng)下載比較大的文件的時候,如果中
            途意外中斷,那么連接恢復(fù)的時候會從上次沒傳完的地方接著傳,而不是又從頭開始,使
            用這一項需要遠(yuǎn)程服務(wù)器也支持?jǐn)帱c(diǎn)續(xù)傳,一般來講,基于UNIX/Linux的Web/FTP服務(wù)器
            都支持?jǐn)帱c(diǎn)續(xù)傳;
            ? -T [number of seconds]:超時時間,指定多長時間遠(yuǎn)程服務(wù)器沒有響應(yīng)就中斷連接
            ,開始下一次嘗試。比如"-T
            120"表示如果120秒以后遠(yuǎn)程服務(wù)器沒有發(fā)過來數(shù)據(jù),就重新嘗試連接。如果網(wǎng)絡(luò)速度比
            較快,這個時間可以設(shè)置的短些,相反,可以設(shè)置的長一些,一般最多不超過900,通常
            也不少于60,一般設(shè)置在120左右比較合適;
            ? -w [number of seconds]:在兩次嘗試之間等待多少秒,比如"-w 100"表示兩次嘗試
            之間等待100秒;
            ? -Y on/off:通過/不通過代理服務(wù)器進(jìn)行連接;
            ? -Q [byetes]:限制下載文件的總大小最多不能超過多少,比如"-Q2k"表示不能超過2K
            字節(jié),"-Q3m"表示最多不能超過3M字節(jié),如果數(shù)字后面什么都不加,就表示是以字節(jié)為單
            位,比如"-Q200"表示最多不能超過200字節(jié);
            ? -nd:不下載目錄結(jié)構(gòu),把從服務(wù)器所有指定目錄下載的文件都堆到當(dāng)前目錄里;
            ? -x:與"-nd"設(shè)置剛好相反,創(chuàng)建完整的目錄結(jié)構(gòu),例如"wget -ndhttp://www.gnu.org"將創(chuàng)建在當(dāng)前目錄下創(chuàng)建"w...,然后按照服務(wù)器
            實際的目錄結(jié)構(gòu)一級一級建下去,直到所有的文件都傳完為止;
            ? -nH:不創(chuàng)建以目標(biāo)主機(jī)域名為目錄名的目錄,將目標(biāo)主機(jī)的目錄結(jié)構(gòu)直接下到當(dāng)前目
            錄下;
            ? --http-user=username
            ? --http-passwd=password:如果Web服務(wù)器需要指定用戶名和口令,用這兩項來設(shè)定;
            ? --proxy-user=username
            ? --proxy-passwd=password:如果代理服務(wù)器需要輸入用戶名和口令,使用這兩個選項
            ;
            ? -r:在本機(jī)建立服務(wù)器端目錄結(jié)構(gòu);
            ? -l [depth]:下載遠(yuǎn)程服務(wù)器目錄結(jié)構(gòu)的深度,例如"-l 5"下載目錄深度小于或者等
            于5以內(nèi)的目錄結(jié)構(gòu)或者文件;
            ? -m:做站點(diǎn)鏡像時的選項,如果你想做一個站點(diǎn)的鏡像,使用這個選項,它將自動設(shè)
            定其他合適的選項以便于站點(diǎn)鏡像;
            ? -np:只下載目標(biāo)站點(diǎn)指定目錄及其子目錄的內(nèi)容。這也是一個非常有用的選項,我們
            假設(shè)某個人的個人主頁里面有一個指向這個站點(diǎn)其他人個人主頁的連接,而我們只想下載
            這個人的個人主頁,如果不設(shè)置這個選項,甚至--有可能把整個站點(diǎn)給抓下來,這顯然是
            我們通常不希望的;
            ü 如何設(shè)定wget所使用的代理服務(wù)器
            wget可以使用用戶設(shè)置文件".wgetrc"來讀取很多設(shè)置,我們這里主要利用這個文件來是
            設(shè)置代理服務(wù)器。使用者用什么用戶登錄,那么什么用戶主目錄下的".wgetrc"文件就起
            作用。例如,"root"用戶如果想使用".wgetrc"來設(shè)置代理服務(wù)器,"/root/.wgert"就起
            作用,下面給出一個".wge
            trc"文件的內(nèi)容,讀者可以參照這個例子來編寫自己的"wgetrc"文件:
            http-proxy = 111.111.111.111:8080
            ftp-proxy = 111.111.111.111:8080
            這兩行的含義是,代理服務(wù)器IP地址為:111.111.111.111,端口號為:80。第一行指定
            HTTP協(xié)議所使用的代理服務(wù)器,第二行指定FTP協(xié)議所使用的代理服務(wù)器。
            wget 使用實例:
            wget是一個命令行工具,用于批量下載文件,支持HTTP和FTP。究竟比其他的工具好在哪里?看看內(nèi)容吧 
            
            wget基本上所有的Linux版本都自己帶了,但是有多少人在用呢?呵呵,如果你沒有用過,不妨試試。Windows下面的用戶可以使用GNUwin32的項目,wget,基本功能完全一致。好吧,我們來以幾個簡單的例子看看wget的威力。
            
            如果我們想下載ftp里面某個目錄里面的所有文件,我們也可以不用ftp這個笨蛋,呵呵,可以享受cute ftp等圖形化工具的拖一個目錄的輕松了。如
            
            
            wget -rftp://10.8.8.8/movie/
            
            呵呵,等吧!下完了,發(fā)覺有些不對勁,怎么出來個10.8.8.8的目錄,進(jìn)去看看,又是一個movie,哦,wget將目錄結(jié)構(gòu)和網(wǎng)站標(biāo)題都給記錄下來了,不要??沒有問題!比如說還是這個例子
            
            wget -r -ndftp://10.8.8.8/movie/
            
            結(jié)果什么目錄都沒有了,faint!怎么會這樣?呵呵,你如果想要這樣就讓它這樣吧,否則使用
            
            wget -r -nHftp://10.8.8.8/movie/
            
            恩?movie也不要?OK,那就這樣
            
            wget -r -nH --cut-dirs=1ftp://10.8.8.8/movie/
            
            這有什么用???cuteftp比他好用多了,而且,你這斷了線能連嗎?呵呵,不好意思,可以連
            
            wget -c -r -nH --cut-dirs=1ftp://10.8.8.8/movie/
            
            
            但 是cuteftp能做下面的事情嗎?比如,現(xiàn)在很多網(wǎng)站使用Apache建站,并不提供ftp服務(wù),但是Apache有一個indexing功能,可以提 供一個類似于ftp的界面,好多文件我想下啊,怎么辦?由于是HTTP協(xié)議,CuteFTP無能為力了,倒是flash get等有什么get all這種功能,不知道他們對于目錄處理怎么樣。但是wget一點(diǎn)問題都沒有,不信?我們拿CTAN為例(例子并不恰當(dāng),CTAN有FTP服務(wù)),我們下 載這里面所有的宏包,呵呵
            
            wget -r -khttp://www.txia.com/blog
            
            -k表示將連接轉(zhuǎn)換為本地連接。但是現(xiàn)在同樣有上面的問題啊,那就把你需要的加上吧,另外也許你根本不需要向下走那么多層,比如,我們就要到第二層,那么
            
            wget -r -l2 -khttp://www.txia.com/blog
            
            現(xiàn)在新的問題是,由于網(wǎng)頁有一個排序功能,很討厭,因為下載的時候把網(wǎng)頁重復(fù)了好多次,那么我們可使用-A和-R開關(guān)控制下載類型,并且可以使用通配符,呵呵,現(xiàn)在隨心所欲了吧
            
            wget -r -R "*.htm*?*" -khttp://www.txia.com/blog
            
            這次沒有那種網(wǎng)頁了吧?-R的意義在于拒絕下載匹配類型的文件,-A表示僅僅接受的文件類型,如-A "*.gif"將僅下載gif圖片,如果有多個允許或者不允許,可以使用,分開。
            
            那 么,我們現(xiàn)在在使用代理服務(wù)器,怎么辦呢?呵呵,很高興你選擇了wget,你可以使用它的配置文件,環(huán)境變量來利用代理。這里推薦使用環(huán)境變量,如在 bash里面我們可以把天天用的proxy加到.bash_profile里面,這是Linux標(biāo)準(zhǔn)寫法(很多軟件都用的,什么apt-get,yum等 等)
            
            export http_proxy=http://10.20.30.40:8080
            
            然后,proxy就默認(rèn)打開了,如果需要暫時關(guān)閉,可以使用
            
            wget --proxy=off -r -khttp://www.txia.com/blog
            
            當(dāng)然,寫一個.wgetrc文件也可以,該文件可以從/usr/local/etc里面找到,里面有很詳細(xì)的注釋,我就不多說了。
            
            下載網(wǎng)頁的時候比較麻煩的事情是,有的網(wǎng)頁被同時指向了很多遍,那么為了避免多次下載,我們使用
            
            wget -nc -r -khttp://www.txia.com/blog
            
            可以避免這件事情。為了不被有的連接指向非http://www.txia.com/blog內(nèi)層目錄,我們還應(yīng)該加上
            
            wget -nc -np -r -khttp://www.txia.com/blog
            
            避免下載非該目錄里面的文件,這也避免了到不同的host上面去。當(dāng)然,如果你希望有這個功能,在多個host之間跳來跳去的下載,可以使用
            
            wget -nc -np -H -r -khttp://www.txia.com/blog
            
            使得可以在多個host之間span,同時-I和-X可以使得我們僅僅跟蹤某些目錄或者不跟蹤某些目錄。如果某些HTML里面你需要的東西不是由這種東西作出來的,你就得使用--follow-tags和--ignore-tags了。
            
            嘿,我有個文件里面都是連接,怎么辦?要是不是html你只需要
            
            wget -i your.file
            
            如果是,那也不繁
            
            wget -F -i your.file
            
            
            
            wget 使用指南
            wget是一個從網(wǎng)絡(luò)上自動下載文件的自由工具。它支持HTTP,HTTPS和FTP協(xié)議,可以使用HTTP代理.
            
            所謂的自動下載是指,wget可以在用戶退出系統(tǒng)的之后在后臺執(zhí)行。這意味這你可以登錄系統(tǒng),啟動一個wget下載任務(wù),然后退出系統(tǒng),wget將在后臺執(zhí)行直到任務(wù)完成,相對于其它大部分瀏覽器在下載大量數(shù)據(jù)時需要用戶一直的參與,這省去了極大的麻煩。
            
            wget 可以跟蹤HTML頁面上的鏈接依次下載來創(chuàng)建遠(yuǎn)程服務(wù)器的本地版本,完全重建原始站點(diǎn)的目錄結(jié)構(gòu)。這又常被稱作"遞歸下載"。在遞歸下載的時候,wget 遵循Robot Exclusion標(biāo)準(zhǔn)(/robots.txt). wget可以在下載的同時,將鏈接轉(zhuǎn)換成指向本地文件,以方便離線瀏覽。
            
            wget 非常穩(wěn)定,它在帶寬很窄的情況下和不穩(wěn)定網(wǎng)絡(luò)中有很強(qiáng)的適應(yīng)性.如果是由于網(wǎng)絡(luò)的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務(wù) 器打斷下載過程,它會再次聯(lián)到服務(wù)器上從停止的地方繼續(xù)下載。這對從那些限定了鏈接時間的服務(wù)器上下載大文件非常有用。
            
            wget的常見用法
            wget的使用格式
            
            Usage: wget [OPTION]... [URL]...
            
            用wget做站點(diǎn)鏡像:
            wget -r -p -np -khttp://dsec.pku.edu.cn/~us..
            -r 表示遞歸下載,會下載所有的鏈接,不過要注意的是,不要單獨(dú)使用這個參數(shù),因為如果你要下載的網(wǎng)站也有別的網(wǎng)站的鏈接,wget也會把別的網(wǎng)站的東西下載 下來,所以要加上 -np這個參數(shù),表示不下載別的站點(diǎn)的鏈接. -k表示將下載的網(wǎng)頁里的鏈接修改為本地鏈接.-p獲得所有顯示網(wǎng)頁所需的元素,比如圖片什么的.
            
            # 或者
            wget -mhttp://www.tldp.org/LDP/ab..
            
            
            在不穩(wěn)定的網(wǎng)絡(luò)上下載一個部分下載的文件,以及在空閑時段下載
            wget -t 0 -w 31 -chttp://dsec.pku.edu.cn/BBC.. -o down.log &
            # 或者從filelist讀入要下載的文件列表
            wget -t 0 -w 31 -c -Bftp://dsec.pku.edu.cn/linu.. -i filelist.txt -o down.log &
            
            上面的代碼還可以用來在網(wǎng)絡(luò)比較空閑的時段進(jìn)行下載。我的用法是:在mozilla中將不方便當(dāng)時下載的URL鏈接拷貝到內(nèi)存中然后粘貼到文件filelist.txt中,在晚上要出去系統(tǒng)前執(zhí)行上面代碼的第二條。
            
            使用代理下載
            wget -Y on -p -khttps://sourceforge.net/pr..
            
            代理可以在環(huán)境變量或wgetrc文件中設(shè)定
            # 在環(huán)境變量中設(shè)定代理
            export PROXY=http://211.90.168.94:8080/
            # 在~/.wgetrc中設(shè)定代理
            http_proxy =http://proxy.yoyodyne.com:..
            ftp_proxy =http://proxy.yoyodyne.com:..
            
            wget各種選項分類列表
            啟動
            -V, --version 顯示wget的版本后退出
            -h, --help 打印語法幫助
            -b, --background 啟動后轉(zhuǎn)入后臺執(zhí)行
            -e, --execute=COMMAND 執(zhí)行`.wgetrc"格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc
            
            記錄和輸入文件
            -o, --output-file=FILE 把記錄寫到FILE文件中
            -a, --append-output=FILE 把記錄追加到FILE文件中
            -d, --debug 打印調(diào)試輸出
            -q, --quiet 安靜模式(沒有輸出)
            -v, --verbose 冗長模式(這是缺省設(shè)置)
            -nv, --non-verbose 關(guān)掉冗長模式,但不是安靜模式
            -i, --input-file=FILE 下載在FILE文件中出現(xiàn)的URLs
            -F, --force-html 把輸入文件當(dāng)作HTML格式文件對待
            -B, --base=URL 將URL作為在-F -i參數(shù)指定的文件中出現(xiàn)的相對鏈接的前綴
            --sslcertfile=FILE 可選客戶端證書
            --sslcertkey=KEYFILE 可選客戶端證書的KEYFILE
            --egd-file=FILE 指定EGD socket的文件名
            
            下載
            --bind-address=ADDRESS 指定本地使用地址(主機(jī)名或IP,當(dāng)本地有多個IP或名字時使用)
            -t, --tries=NUMBER 設(shè)定最大嘗試鏈接次數(shù)(0 表示無限制).
            -O --output-document=FILE 把文檔寫到FILE文件中
            -nc, --no-clobber 不要覆蓋存在的文件或使用.#前綴
            -c, --continue 接著下載沒下載完的文件
            --progress=TYPE 設(shè)定進(jìn)程條標(biāo)記
            -N, --timestamping 不要重新下載文件除非比本地文件新
            -S, --server-response 打印服務(wù)器的回應(yīng)
            --spider 不下載任何東西
            -T, --timeout=SECONDS 設(shè)定響應(yīng)超時的秒數(shù)
            -w, --wait=SECONDS 兩次嘗試之間間隔SECONDS秒
            --waitretry=SECONDS 在重新鏈接之間等待1...SECONDS秒
            --random-wait 在下載之間等待0...2*WAIT秒
            -Y, --proxy=on/off 打開或關(guān)閉代理
            -Q, --quota=NUMBER 設(shè)置下載的容量限制
            --limit-rate=RATE 限定下載輸率
            
            目錄
            -nd --no-directories 不創(chuàng)建目錄
            -x, --force-directories 強(qiáng)制創(chuàng)建目錄
            -nH, --no-host-directories 不創(chuàng)建主機(jī)目錄
            -P, --directory-prefix=PREFIX 將文件保存到目錄 PREFIX/...
            --cut-dirs=NUMBER 忽略 NUMBER層遠(yuǎn)程目錄
            
            HTTP 選項
            --http-user=USER 設(shè)定HTTP用戶名為 USER.
            --http-passwd=PASS 設(shè)定http密碼為 PASS.
            -C, --cache=on/off 允許/不允許服務(wù)器端的數(shù)據(jù)緩存 (一般情況下允許).
            -E, --html-extension 將所有text/html文檔以.html擴(kuò)展名保存
            --ignore-length 忽略 `Content-Length"頭域
            --header=STRING 在headers中插入字符串 STRING
            --proxy-user=USER 設(shè)定代理的用戶名為 USER
            --proxy-passwd=PASS 設(shè)定代理的密碼為 PASS
            --referer=URL 在HTTP請求中包含 `Referer: URL"頭
            -s, --save-headers 保存HTTP頭到文件
            -U, --user-agent=AGENT 設(shè)定代理的名稱為 AGENT而不是 Wget/VERSION.
            --no-http-keep-alive 關(guān)閉 HTTP活動鏈接 (永遠(yuǎn)鏈接).
            --cookies=off 不使用 cookies.
            --load-cookies=FILE 在開始會話前從文件 FILE中加載cookie
            --save-cookies=FILE 在會話結(jié)束后將 cookies保存到 FILE文件中
            
            FTP 選項
            -nr, --dont-remove-listing 不移走 `.listing"文件
            -g, --glob=on/off 打開或關(guān)閉文件名的 globbing機(jī)制
            --passive-ftp 使用被動傳輸模式 (缺省值).
            --active-ftp 使用主動傳輸模式
            --retr-symlinks 在遞歸的時候,將鏈接指向文件(而不是目錄)
            
            遞歸下載
            -r, --recursive 遞歸下載--慎用!
            -l, --level=NUMBER 最大遞歸深度 (inf 或 0 代表無窮).
            --delete-after 在現(xiàn)在完畢后局部刪除文件
            -k, --convert-links 轉(zhuǎn)換非相對鏈接為相對鏈接
            -K, --backup-converted 在轉(zhuǎn)換文件X之前,將之備份為 X.orig
            -m, --mirror 等價于 -r -N -l inf -nr.
            -p, --page-requisites 下載顯示HTML文件的所有圖片
            
            遞歸下載中的包含和不包含(accept/reject)
            -A, --accept=LIST 分號分隔的被接受擴(kuò)展名的列表
            -R, --reject=LIST 分號分隔的不被接受的擴(kuò)展名的列表
            -D, --domains=LIST 分號分隔的被接受域的列表
            --exclude-domains=LIST 分號分隔的不被接受的域的列表
            --follow-ftp 跟蹤HTML文檔中的FTP鏈接
            --follow-tags=LIST 分號分隔的被跟蹤的HTML標(biāo)簽的列表
            -G, --ignore-tags=LIST 分號分隔的被忽略的HTML標(biāo)簽的列表
            -H, --span-hosts 當(dāng)遞歸時轉(zhuǎn)到外部主機(jī)
            -L, --relative 僅僅跟蹤相對鏈接
            -I, --include-directories=LIST 允許目錄的列表
            -X, --exclude-directories=LIST 不被包含目錄的列表
            -np, --no-parent 不要追溯到父目錄
          posted on 2015-03-05 16:54 Eric_jiang 閱讀(4116) 評論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 建宁县| 尚义县| 卓尼县| 临江市| 繁昌县| 探索| 邵阳市| 新余市| 凌海市| 雅江县| 本溪| 长沙市| 福州市| 美姑县| 罗源县| 全南县| 鄂托克旗| 明水县| 杭锦后旗| 商都县| 锡林郭勒盟| 鹤峰县| 搜索| 苗栗县| 女性| 诸暨市| 营山县| 阿合奇县| 西丰县| 视频| 札达县| 子洲县| 达州市| 兴义市| 巴彦县| 三穗县| 贺兰县| 天台县| 个旧市| 渭源县| 大渡口区|