我有權訪問在線HTTP目錄。我試圖通過wget下載所有的子目錄和文件。但問題是,當wget下載子目錄時,它會下載包含該目錄中文件列表的index.html文件,而不會自行下載文件。 有沒有辦法下載沒有深度限制的子目錄和文件(就好像我想下載的目錄只是一個我想要複製到我的計算機的文件夾)。如何下載所有文件和子目錄的HTTP目錄,因爲它們出現在在線文件/文件夾列表中?
回答
解決方案
wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/
說明:
- 它會下載DDD目錄下的所有文件和子文件夾:
- 遞歸(-R),
- 不打算上的目錄,如CCC/...(-NP),
- 沒有將文件保存到主機名的文件夾(-NH),
- 但通過省略 第3個文件夾AAA DDD,BBB,CCC(--Cut -dirs = 3)
- 排除的index.html 文件(index.html的-R)
我能得到利用VisualWGet感謝to this post這個工作。它對我很好。重要的部分似乎是檢查-recursive
標誌(見圖)。
此外,還發現-no-parent
標誌很重要,否則它會嘗試下載所有內容。
剛剛發現這一點 - 2017年十二月它工作正常。我在https://sourceforge.net/projects/visualwget/得到它 – SDsolar
在Windows機器上運行良好,不要忘記檢查答案中提到的選項,否則它將無法工作 – csharpcoder
wget
是非常寶貴的資源和東西我使用自己。但是有時在地址中有wget
標識爲語法錯誤的字符。我確信有一個解決方案,但因爲這個問題沒有具體詢問wget
我認爲我會爲那些毫無疑問會偶然發現這個頁面的人提供一個替代方案,尋找一個快速修復而不需要學習曲線。
有幾個瀏覽器擴展可以做到這一點,但大多數需要安裝下載管理器,這些並不總是免費的,往往是一個眼睛,並使用大量的資源。下面這些缺點沒有這些缺點:
「下載主」是谷歌瀏覽器的擴展,它非常適合從目錄下載。您可以選擇過濾要下載的文件類型,或下載整個目錄。
https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce
用於將上行最新功能列表等信息,請訪問開發者的博客上的項目頁面:
wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/
從man wget
'-r' ' - 遞歸' 打開遞歸檢索。有關更多詳細信息,請參閱遞歸下載。默認的最大深度是5
「-np」 「--no-父」 遞歸檢索時,千萬不要上升到父目錄。這是一個有用的選項,因爲它保證只有特定層次下的文件纔會被下載。有關更多詳細信息,請參閱基於目錄的限制。
「-nH」 「--no宿主目錄」 禁止代主機爲前綴的目錄。默認情況下,使用'-r http://fly.srk.fer.hr/'調用Wget將創建一個以fly.srk.fer.hr/開頭的目錄結構。該選項禁用這種行爲。
'--cut-dirs = number' 忽略號碼簿組件。這對於獲取對遞歸檢索將被保存的目錄進行細粒度控制很有用。
以「ftp://ftp.xemacs.org/pub/xemacs/」的目錄爲例。如果您使用'-r'檢索它,它將在ftp.xemacs.org/pub/xemacs/下保存在本地。雖然'-nH'選項可以刪除ftp.xemacs.org/部分,但仍然被pub/xemacs卡住。這就是'cut-dirs'派上用場的地方;它使Wget不會「看到」多個遠程目錄組件。以下是'--cut-dirs'選項如何工作的幾個示例。
無選項 - > ftp.xemacs.org/pub/xemacs/ -nH - >酒館/ xemacs的/ -nH --Cut-顯示目錄= 1 - > xemacs的/ -nH --Cut-迪爾斯= 2 - >。
--Cut - 迪爾斯= 1 - > ftp.xemacs.org/xemacs/ ... 如果你只是想擺脫的目錄結構,這個選項是類似的組合「-nd」和'-P'。但是,與'-nd'不同,'--cut-dirs'不會與子目錄一起丟失 - 例如,'-nH --cut-dirs = 1',beta /子目錄將被放置到xemacs/beta中,如人們會期待。
一些解釋會很好。 –
man wget ......? – sloven
無需插件!
使用書籤。拖動this link的書籤,然後轉到頁(從那裏你要下載的文件),然後編輯並粘貼此代碼:
(function(){ var arr=[], l=document.links; var ext=prompt("select extension for download (all links containing that, will be downloaded.", ".mp3"); for(var i=0; i<l.length; i++) { if(l[i].href.indexOf(ext) !== false){ l[i].setAttribute("download","download"); l[i].click(); } } })();
- 1. 文件列表文件夾和所有孫子的子目錄
- 2. 列出目錄+子目錄中的所有文件和目錄
- 3. 獲取目錄中的所有文件夾和子文件夾
- 4. 列出目錄中的文件和所有子目錄
- 5. 列出目錄和子目錄中的所有jpg文件
- 6. 列出目錄中的所有文件和子目錄C#
- 7. 列出目錄中的所有子目錄和文件
- 8. 列出目錄中的所有子目錄和文件
- 9. 在文件夾中列出目錄中所有文件的文件信息
- 10. wget:下載目錄/子目錄中的所有文件
- 11. 如何列出iPhone SDK中的所有文件夾及其子目錄/文件?
- 12. 在Unix C++文件夾的根目錄中列出文件和目錄
- 13. 列出目錄和子目錄中的MP3文件在PHP中
- 14. 如何遍歷目錄和子目錄中的所有文件
- 15. 如何在php中列出目錄及其子目錄的所有文件?
- 16. php - 在一個目錄中列出文件夾和文件
- 17. 在根目錄和所有子目錄中的Foreach文件
- 18. 列出目錄中的所有文件
- 19. 從包括文件夾和子文件夾的目錄列出文件名
- 20. 如何列出ftp目錄中的所有文件夾?
- 21. 閱讀目錄子文件夾中的所有文件
- 22. 從目錄列表中下載文件
- 23. 目錄中的文件夾子文件夾中的文件列表
- 24. 使用php列出目錄中的所有文件夾子文件夾和文件請使用php
- 25. Python以列出HTTP文件和目錄
- 26. 在目錄的所有文件夾中複製文件
- 27. 在cocos2dx的Resources/Assets文件夾中列出文件/目錄
- 28. 如何在Linux中列出目錄中文件和文件夾的總大小?
- 29. 如何獲取包含所有子目錄文件的目錄中的文件?
- 30. 列表從文檔根目錄之外的所有子目錄和文件
謝謝!此外,根據[this](http://unix.stackexchange。com/questions/53397/wget-how-to-download-recursively-and-only-specific-mime-types-extensions-ie)你可以像'-R css'一樣使用'-R'來排除所有的CSS文件,或者像'-A pdf'一樣使用'-A'來只下載PDF文件。 – John
它就像一個魅力,謝謝你。這應該被選爲答案 –
謝謝!來自[wget man page]的其他建議(https://www.gnu.org/software/wget) '從Internet服務器下載時,請考慮使用'-w'選項在訪問服務器之間引入延遲。下載需要一段時間,但服務器管理員不會因爲你的無禮而感到驚慌.' – jgrump2012