Wget是一種很好用的因特網下載工具,他具有的很多特性是其他工具所不能比擬的,再者他是一個輕量級可配置的下載工具。
本文結合例子介紹Windows下wget的多種下載方法和用途。
1、用Wget下載單個文件
下載的時候會顯示:
~文件的大小、連接狀態、連接地址以及文件的大小
~保存的名稱
~下載進度條
~下載速度、時間,還有多少未下載
例如我下載editplus時輸入
D:\Hack stuff\wget>wget http://software-files-a.cnet.com/s/software/12/32/81/47/
epp331.exe?token=1329413178_4553efa847829f3ecef10c1bc256fcc0&lop=link&ptype=3001
&ontid=2352&siteId=4&edId=3&spi=537d5d5485f688682d82c481c4fb15a1&pid=12328147&ps
id=10018241&&fileName=epp331.exe
則下載時會顯示以下內容
D:\Hack stuff\wget>wget http://software-files-a.cnet.com/s/software/12/32/81/47/
epp331.exe?token=1329413178_4553efa847829f3ecef10c1bc256fcc0&lop=link&ptype=3001
&ontid=2352&siteId=4&edId=3&spi=537d5d5485f688682d82c481c4fb15a1&pid=12328147&ps
id=10018241&&fileName=epp331.exe
--2012-02-16 15:28:50-- http://software-files-a.cnet.com/s/software/12/32/81/47
/epp331.exe?token=1329413178_4553efa847829f3ecef10c1bc256fcc0
Resolving software-files-a.cnet.com... 204.2.171.33, 204.2.171.35
Connecting to software-files-a.cnet.com|204.2.171.33|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1766464 (1.7M) [application/octet-stream]
Saving to: `epp331.exe@token=1329413178_4553efa847829f3ecef10c1bc256fcc0'
18% [======> ] 335,238 20.5K/s eta 64s
2、用Wget-O下載可以為下載的文件指定另外一個名字
默認情況下wget會用最后的斜線后面的所有字符來命名下載下來的文件,如上例所示保存的文件名為
Saving to: `epp331.exe@token=1329413178_4553efa847829f3ecef10c1bc256fcc0'
這不是我們所想要的,我們可以用-O選項來改變將文件保存為editplus.exe
D:\Hack stuff\wget>wget -O editplus.exe http://software-files-a.cnet.com/s/software/12/32/81/47/
epp331.exe?token=1329413178_4553efa847829f3ecef10c1bc256fcc0&lop=link&ptype=3001
&ontid=2352&siteId=4&edId=3&spi=537d5d5485f688682d82c481c4fb15a1&pid=12328147&ps
id=10018241&&fileName=epp331.exe
3、用Wget --limit-rate指定下載的速度
如下面這個例子限制速度為300k
D:\Hack stuff\wget>wget --limit-rate=300k http://downloads.sourceforge.net/project/boost/boost-doc
s/1.47.0/boost_1_47_pdf.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2F
&ts=1329379231&use_mirror=nchc
4、續傳下載用Wget -c
當你在下載一個大文件時突然中斷了那么這個選項就派上用場了
D:\Hack stuff\wget>wget -c http://downloads.sourceforge.net/project/boost/boost-doc
s/1.47.0/boost_1_47_pdf.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2F
&ts=1329379231&use_mirror=nchc
5、后台下載用wget -b
用此選項下載時只會初始化下載而不會顯示相關信息
D:\Hack stuff\wget>wget -b http://downloads.sourceforge.net/project/boost/boost-
docs/1.47.0/boost_1_47_pdf.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost
%2F&ts=1329379231&use_mirror=nchc
Continuing in background, pid 6132.
Output will be written to `wget-log'.
下載以后會在wget目錄下生產wget-log文件,用記事本打開可查看里面的內容如下所示
--2012-02-16 16:12:55-- http://downloads.sourceforge.net/project/boost/boost-docs/1.47.0/boost_1_47_pdf.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2F
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://nchc.dl.sourceforge.net/project/boost/boost-docs/1.47.0/boost_1_47_pdf.zip [following]
--2012-02-16 16:12:56-- http://nchc.dl.sourceforge.net/project/boost/boost-docs/1.47.0/boost_1_47_pdf.zip
Resolving nchc.dl.sourceforge.net... 211.79.60.17
Connecting to nchc.dl.sourceforge.net|211.79.60.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31421410 (30M) [application/zip]
Saving to: `boost_1_47_pdf.zip.4'
0K .......... .......... .......... .......... .......... 0% 19.7K 25m51s
50K .......... .......... .......... .......... .......... 0% 29.1K 21m40s
100K .......... .......... .......... .......... .......... 0% 20.8K 22m35s
150K .......... .......... .......... .......... .......... 0% 19.5K 23m26s
200K .......... .......... .......... .......... .......... 0% 18.4K 24m13s
250K .......... .......... .......... .......... .......... 0% 20.8K 24m13s
300K .......... .......... .......... .......... .......... 1% 18.2K 24m41s
350K .......... .......... .......... .......... .......... 1% 23.5K 24m16s
6、測試你要下載的地址用Wget --spider
wget --spider DOWNLOAD-URL
如果所給URL是正確的則會顯示
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://ncu.dl.sourceforge.net/project/boost/boost-docs/1.47.0/boost_1_
47_pdf.zip [following]
Spider mode enabled. Check if remote file exists.
--2012-02-16 16:21:08-- http://ncu.dl.sourceforge.net/project/boost/boost-docs/
1.47.0/boost_1_47_pdf.zip
Resolving ncu.dl.sourceforge.net... 140.115.17.45
Connecting to ncu.dl.sourceforge.net|140.115.17.45|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31421410 (30M) [application/zip]
Remote file exists.
否則顯示
Spider mode enabled. Check if remote file exists.
--2012-02-16 16:23:06-- http://downloads.sourceforge.net/project/boost/boost-do
cs/1.47.0/boost_1_47_pdf222.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboos
t%2F
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!
7、增加重連次數用Wget -tries
在網絡有問題的情況次選項尤其有用,默認是wget會重連20次以成功完成下載,我們可以把他增加為我們期待的次數
wget --tries=100 DOWNLOAD-URL
8、下載多個文件/URLS用wget -i
首先把所有要下載的文件或者URL存到一個記事本中,比如aa.txt,里面內容如下
URL1
URL2
URL3
URL4
接下來輸入如下代碼就可以批量下載了
wget -i aa.txt
9、下載一個完整的網站用wget -mirror
以下實現是你想完整的下載一個網站用於本地瀏覽
wget --mirror -p --convert-links -P LOCAL-DIR WEBSITE-URL
--mirror:打開鏡像選項
-p:下載所有用於顯示給定網址所必須的文件
--convert-links:下載以后,轉換鏈接用於本地顯示
-P LOCAL_DIR:保存所有的文件或目錄到指定的目錄下
10、保存輸出到日志文件而不是標准輸出用wget -o
當你想要把信息保存到一個文件而不是在終端顯示時用以下代碼。
wget -o download.log DOWNLOAD-URL
11、當超過指定大小時終止下載用wget -Q
當文件已下載10M,此時你想停止下載可以使用下面的命令行
wget -Q10m -i FILE-WHICH-HAS-URLS
注意:此選項只能在下載多個文件時有用,當你下載一個文件時沒用。
12、下載特定文件類型的文件用wget -r -A
你可以用此方法下載一下文件:
~從一個網站下載所有圖片
~從一個網站下載所有視頻
~從一個網站下載所有PDF文件
wget -r -A.pdf http://url-to-webpage-with-pdfs/
13、指定不下載某一類型的文件用wget --reject
你發現一個網站很有用,但是你不想下載上面的圖片,因為太占流量,此時你可以用如下命令。
wget --reject=gif WEBSITE-TO-BE-DOWNLOADED
14、用wget實現FTP下載
匿名FTP下載用
wget ftp-url
有用戶名和密碼的FTP下載
wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL
15、wget下載有的資源時必須用選項 --no-check-certificate,否則會提示沒有認證不允許下載
wget --no-check-certificate URL