巧用Wget快速創建文件下載中心

Wget基本用法:
1) 從網上下載單個文件php

wget http://www.freehao123.com/file.iso

2) 下載一個文件,但以不一樣的名字存爲本地文件html

wget –output-document=filename.html freehao123.com

3) 下載一個文件,存到指定的目錄緩存

wget –directory-prefix=folder/subfolder freehao123.com

4) 恢復以前中斷的一個wget下載服務器

wget –continue freehao123.com/big.file.iso
wget -c freehao123.com/big.file.iso

5) 下載一個文件,但只在服務器上的版本比本地版本新時纔會真正執行cookie

wget –continue –timestamping freehao123.com/latest.zip

6) 用wget下載多個網址,這些網址存於一個文本文件中,一行一個網址網絡

wget –input list-of-file-urls.txt

7) 從服務器下載一些以連續序號爲文件名的文件session

wget http://example.com/images/{1..20}.jpg
wget http://example.com/images/pre-{1..20}-post.jpg

8) 下載一個網頁,包括它全部的內容,好比樣式表和包含的圖片,它們是確保網頁離線顯示所必需的app

wget -page-requisites –span-hosts –convert-links –adjust-extension http://example.com/dir/file
wget -p -H -k -E http://example.com/dir/file

Wget對整個網站進行鏡像:dom

1) 下載整個網站,包括它全部連接的頁面和文件socket

wget --execute robots=off --recursive --no-parent --continue --no-clobber http://example.com/
wget -e robots=off -r -np -c -nc http://example.com/

2) 從網站上一個子目錄中下載全部MP3文件

wget –level=1 –recursive –no-parent –accept mp3,MP3 http://example.com/mp3/
wget -l 1 -r -np -A mp3,MP3 http://example.com/mp3/

3) 將一個網站上的全部圖片下載到同一個目錄中

wget –directory-prefix=files/pictures –no-directories –recursive –no-clobber –accept jpg,gif,png,jpeg http://example.com/images/
wget -P files/pictures -nd -r -nc -A jpg,gif,png,jpeg http://example.com/images/

4) 從一個網站上下載PDF文件,採用遞歸的方式,但不跳出指定的網域

wget –mirror –domains=abc.com,files.abc.com,docs.abc.com –accept=pdf http://abc.com/
wget -m -D abc.com,files.abc.com,docs.abc.com -A pdf http://abc.com/

5) 從一個網站上下載全部文件,可是排除某些目錄

wget –recursive –no-clobber –no-parent –exclude-directories /forums,/support http://example.com
wget -r -nc -np -X /forums,/support http://example.com

Wget高級用法:

1) 下載網站上的文件,假設此網站檢查User Agent和HTTP參照位址(referer)

wget --referer=/5.0 --user-agent="Firefox/4.0.1" http://freehao123.com

2) 從密碼保護網站上下載文件

wget –http-user=labnol –http-password=hello123 http://example.com/secret/file.zip

3) 抓取登錄界面後面的頁面。你須要將用戶名和密碼替換成實際的表格域值,而URL應該指向(實際的)表格提交頁面

wget –cookies=on –save-cookies cookies.txt –keep-session-cookies –post-data ‘user=labnol&password=123’ http://example.com/login.php
wget –cookies=on –load-cookies cookies.txt –keep-session-cookies http://example.com/paywall

4) 在不下載的狀況下,獲得一個文件的大小 (在網絡響應中尋找用字節表示的文件長度)

wget –spider –server-response http://example.com/file.iso
wget –spider -S http://example.com/file.iso

5) 下載一個文件,但不存儲爲本地文件,而是在屏幕上顯示其內容

wget –output-document=- –quiet google.com/humans.txt
wget -O- -q google.com/humans.txt

6) 獲得網頁的最後修改日期 (檢查HTTP頭中的Last Modified標籤)

wget –server-response –spider http://www.freehao123.com/
wget -S –spider http://www.labnol.org/

7) 檢查你的網站上的連接是否均可用。spider選項將令wget不會在本地保存網頁

wget –output-file=logfile.txt –recursive –spider http://example.com
wget -O logfile.txt -r –spider http://example.com

這裏是Wget各個參數說明:

* 啓動
-V, --version 顯示wget的版本後退出
-h, --help 打印語法幫助
-b, --background 啓動後轉入後臺執行
-e, --execute=COMMAND 執行`.wgetrc'格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc

* 記錄和輸入文件
-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文件的全部圖片

* 遞歸下載中的包含和不包含(accept/reject)-A, –accept=LIST 分號分隔的被接受擴展名的列表-R, –reject=LIST 分號分隔的不被接受的擴展名的列表-D, –domains=LIST 分號分隔的被接受域的列表–exclude-domains=LIST 分號分隔的不被接受的域的列表–follow-ftp 跟蹤HTML文檔中的FTP連接–follow-tags=LIST 分號分隔的被跟蹤的HTML標籤的列表-G, –ignore-tags=LIST 分號分隔的被忽略的HTML標籤的列表-H, –span-hosts 當遞歸時轉到外部主機-L, –relative 僅僅跟蹤相對連接-I, –include-directories=LIST 容許目錄的列表-X, –exclude-directories=LIST 不被包含目錄的列表-np, –no-parent 不要追溯到父目錄

相關文章
相關標籤/搜索