2015-02-03

wget砍站,忽略robot.txt

首先設置一下環境變數,cmd命令打開command視窗:

set http_proxy=http://username:passwd@myproxy.xxx:portnum/

比如說你的windows wget 安裝在如下的地方,那麼使用下面的命令來下載網站:

d:\Program Files\wget-1.10.2b\ wget -k -m -np -d -Y yes http://xxx.xxx.xxx/

d:\Program Files\wget-1.10.2b\ wget -k -m -np -q -Y yes http://xxx.xxx.xxx/

-k, --convert-links 將絕對鏈接轉換為相對鏈接。
-m 就等價於 遞歸下載+除非遠程文件較新,否則不再取回+最大遞歸深度無限+不刪除「
.listing」文件。
-np, --no-parent 不搜索上層目錄。
注意其中-d只是輸出下載信息,換成-q就變成「安靜」下載了。




wget -t 0 -w 31 -c http://dsec.pku.edu.cn/BBC.avi -o down.log &
# 或者從filelist讀入要下載的文件列表
wget -t 0 -w 31 -c -B ftp://dsec.pku.edu.cn/linuxsoft -i filelist.txt -o
down.log &
-t, --tries=NUMBER 設定最大嘗試鏈接次數(0 表示無限制).
-w, --wait=SECONDS 兩次嘗試之間間隔SECONDS秒
--waitretry=SECONDS 在重新鏈接之間等待1...SECONDS秒
--random-wait 在下載之間等待0...2*WAIT秒


如果要下載的網站,是用.htaccess進行訪問限制的。就需要用戶和密碼。這時候要用:

wget -r -p -np -k –user=yourusername –password=yourpassword
http://www.example.com/subsite

如果密碼種有特殊字符,可能需要用「\」來轉義。

如果下載的網站放了」robot.txt「來限制某些部分的訪問。就需要wget來ignore這個文
件。只需要在你的~/.wgetrc裡面加入一行

robots = off

就行了。


另外可以將要下載的url寫到一個文件中,每個url一行,使用這樣的命令 wget -i
download.txt.

--reject=avi,rmvb 表示不下載avi,rmvb的文件,--accept=jpg,jpeg,表示只下載
jpg,jpeg的文件.

可以在用戶目錄下建立一個.wgetrc的文件(windows裡面好像不能直接建立這樣的文件
,windows會認為沒有文件名--),裡面寫上 http-proxy = 123.456.78.9:80,然後在加上參
數 --proxy=on,如果需要密碼,再加上下面的參數 --proxy-user=username,
--proxy-passwd=password---------

wget -p -k -np -nd -nH --directory-prefix=albino -Y on -r -l2
--reject=zip,rar,rm,rmvb,avi,mp3,mpg %1

===========================================
ftp砍站

"wget -l0 -t 0 -w 20 -r -c -b -nv ftp://user:password@host.com/ &"

-l0 :不限層
-t 0 :一直try到死
-w 20:try中間的暫停秒數
-r :遞迴
-c :續傳
-b :背景執行
-nv :輸出簡短訊息

詳細用法見:
http://my.opera.com/tuziibanez/blog/wget

沒有留言:

張貼留言