問題描述
如何使用wget並從網站獲取所有文件?
我需要除HTML,PHP,ASP等網頁文件之外的所有文件。
最佳方法
要過濾特定的文件擴展名:
wget -A pdf,jpg -m -p -E -k -K -np http://site/path/
或者,如果您喜歡長選項名稱:
wget --accept pdf,jpg --mirror --page-requisites --adjust-extension --convert-links --backup-converted --no-parent http://site/path/
這將鏡像站點,但是沒有jpg或pdf擴展名的文件將被自動刪除。
次佳方法
這為我下載了整個網站:
wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/
第三種方法
wget -m -p -E -k -K -np http://site/path/
手冊頁將告訴您這些選項的作用。
wget將僅跟隨鏈接,如果索引頁麵中沒有指向文件的鏈接,則wget將不知道其存在,因此不會下載。即。如果在網頁或目錄索引中鏈接了所有文件,則將很有幫助。
第四種方法
我試圖下載從Omeka’s themes page鏈接的zip文件-非常相似的任務。這對我有用:
wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
-A:僅接受zip文件
-r:遞歸
-l 1:一層深(即,僅直接從此頁麵鏈接的文件)
-nd:不創建目錄結構,隻需將所有文件下載到此目錄中。
關於-k,-K,-E等選項的所有答案可能都不是真正理解該問題的方法,例如用於重寫HTML頁麵以形成本地結構,重命名.php文件等的問題。沒有關聯。
要從字麵上獲取除.html等之外的所有文件,請執行以下操作:
wget -R html,htm,php,asp,jsp,js,py,css -r -l 1 -nd http://yoursite.com
第五種方法
您可以嘗試:
wget --user-agent=Mozilla --content-disposition --mirror --convert-links -E -K -p http://example.com/
您還可以添加:
-A pdf,ps,djvu,tex,doc,docx,xls,xlsx,gz,ppt,mp4,avi,zip,rar
接受特定擴展名,或僅拒絕特定擴展名:
-R html,htm,asp,php
或排除特定區域:
-X "search*,forum*"
如果機器人(例如搜索引擎)忽略了這些文件,則還必須添加:-e robots=off
第六種方法
嘗試這個。它總是對我有用
wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
第七種方法
wget -m -A * -pk -e robots=off www.mysite.com/
這將在本地下載所有類型的文件並從html文件指向它們,並且它將忽略漫遊器文件
參考資料