linux wget 及 PHP wget 獲取檔案
wget 是一個命令列的下載檔案工具,它支援HTTP,HTTPS和FTP協議,可以使用HTTP代理。Linux使用者經常需要使用它。下此介紹幾個wget使用的技巧。
wget技巧大全:
1>下載 http://www.linux.com 網站上 packs 目錄中的所有檔案
$ wget -r -np -nd http://www.linux.com/packs/
-np 的作用是不遍歷父目錄
-nd 表示不在本機重新建立目錄結構。
2>下載整個http或者ftp站點
$ wget -r -x http://www.linux.com
-x 的作用強制建立伺服器上一模一樣的目錄
這個命令會按照遞迴的下載
注意: 可以用-l number引數來指定下載的層次。例如只下載兩層,那麼使用-l 2。
如: wget -r -x -l 2 http://www.linux.com
3>wget選擇性的只下載某類檔案
$ wget -r -np -nd –accept=iso http://www.linux.com/i386/
–accept=iso 選項,這指示wget僅下載 i386 目錄中所有副檔名為 iso 的檔案。你也可以指定多個副檔名,只需用逗號分隔即可。
4>批量下載
wget -i downloads.txt
如果有多個檔案需要下載,那麼把所有需要下載檔案的地址放到downloads.txt中(每個檔案的URL寫一行),然後 wget 就會自動為你下載所有檔案了。
5>斷點續傳
$ wget -c -t 100 -T 120 http://www.linux.com/big-file.iso
當檔案特別大或者網路特別慢的時候,往往一個檔案還沒有下載完,連線就已經被切斷,此時就需要斷點續傳。wget的斷點續傳是自動的。
-c 選項的作用為斷點續傳。
-t 引數表示重試次數(例如需要重試100次,那麼就寫-t 100,如果設成-t 0,那麼表示無窮次重試,直到連線成功。)
-T 引數表示超時等待時間,例如-T 120,表示等待120秒連線不上就算超時。
6>映象一個網站
$ wget -m -k (-H) http://www.linux.com/
如果網站中的影象是放在另外的站點,那麼可以使用 -H 選項。
在php中,wget還是用到的比較多的,因為有時候會抓一下資源或者圖片等等,
這個時候file_get_contents就不大好用了,而且wget可以設定抓取的次數,時間等等,
這些都是file_get_contents所不具備的,
wget是shell命令,php如果想要呼叫直接用exec()函式就好了。 exec("wget -i xxxxx xxxxx");