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");
發佈了76 篇原創文章 · 獲贊 15 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章