2012-01-06 81 views
125

如何使用wget並從網站獲取所有文件?如何使用wget從網站下載所有文件(但不是HTML)?

我需要的所有文件,除了網頁文件,如HTML,PHP,ASP等

+0

即使你想要下載PHP,它使用wget是不可能的。我們只能使用wget獲取原始HTML。我猜你知道原因 – 2013-09-26 16:35:45

+0

**注意:**總是首先檢查'wget --spider',並且總是添加'-w 1'(或更多的'-w 5'),這樣你就不會淹沒其他人的服務器。 – isomorphismes 2015-03-06 00:34:29

+0

我該如何下載本頁面中的所有pdf文件? http://pualib.com/collection/pua-titles-a.html – Arturo 2015-11-16 08:56:48

回答

194

要過濾特定文件擴展名:

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/ 

這將反映該網站,但沒有jpgpdf擴展名的文件會自動刪除。

+7

如果你只是想下載沒有整個目錄架構的文件,你可以使用** - nd **選項。 – diabloneo 2014-08-28 12:49:21

+1

每個標誌是什麼意思? – Michelle 2014-11-17 22:35:44

+0

我覺得'--accept'是區分大小寫的,所以你必須做'--accept pdf,jpg,PDF,JPG' – Flimm 2014-11-21 18:56:01

62
wget -m -p -E -k -K -np http://site/path/ 

手冊頁會告訴你這些選項是做。

wget只會跟隨鏈接,如果沒有鏈接到索引頁中的文件,那麼wget將不知道它的存在,因此不會下載它。即。如果所有文件都鏈接到網頁或目錄索引中,它會有所幫助。

+0

感謝您的回覆:) 它複製整個網站,我只需要文件(即txt,pdf ,圖片等)在網站 – Aniruddhsinh 2012-01-06 09:05:26

63

此下載整個網站對我來說:

wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/ 
+14

+1 for'-e robots = off'!這終於解決了我的問題! :)謝謝 – NHDaly 2013-12-22 18:35:16

+0

+1,做了我想要的。完美的鏡像 – Anon343224user 2013-12-24 23:20:20

+5

'--random-wait'選項是天才;) – poitroae 2014-02-05 23:11:09

6

你可以試試:

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

15

我試圖下載從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 
+1

'-A'是區分大小寫的,我認爲,所以你將不得不做'-A zip,ZIP' – Flimm 2014-11-21 18:56:25

4

試試這個。它總是對我的作品

wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL 
2
wget -m -A * -pk -e robots=off www.mysite.com/ 

這會從HTML文件 下載本地的所有類型的文件,並指向他們,這會忽略robots文件