Как загрузить каталог HTTP со всеми файлами и подкаталогами, как они появляются в списке онлайн-файлов/папок?

есть онлайн-каталог HTTP, к которому у меня есть доступ. Я попытался загрузить все подкаталоги и файлы через wget. Но проблема в том, что когда wget загружает подкаталоги, он загружает индекс.html-файл, который содержит список файлов в этом каталоге без загрузки самих файлов. Есть ли способ загрузить подкаталоги и файлы без ограничения глубины (как будто каталог, который я хочу загрузить, - это просто папка, которую я хочу скопировать в мой компьютер.)

online HTTP directory

5 ответов


устранение:

wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

объяснение:

  • он будет загружать все файлы и подпапки в ddd каталог
  • -r : рекурсивно
  • -np : не собирается в верхние каталоги, как ccc/...
  • -nH: не сохранять файлы в папку hostname
  • --cut-dirs=3 : но сохранение его в ddd опуская первые 3 папки aaa, bbb, ccc
  • -R index.html : кроме .HTML-код файлы

ссылка: http://bmwieczorek.wordpress.com/2008/10/01/wget-recursively-download-all-files-from-certain-directory-listed-by-apache/


я смог заставить это работать спасибо этот пост использование VisualWGet. Это сработало отлично для меня. Важной частью, похоже, является проверка -recursive флаг (см. рисунок).

также установлено, что -no-parent флаг важен, othewise он попытается загрузить все.

enter image description hereenter image description here


wget - Это бесценный ресурс и то, что я сам использую. Однако иногда в адресе есть символы, которые wget определяются как синтаксические ошибки. Я уверен, что есть исправление для этого, но как этот вопрос не спрашивал конкретно о wget Я думал, что предложу альтернативу для тех людей, которые, несомненно, наткнутся на эту страницу, ища быстрое решение без кривой обучения.

есть несколько расширений браузера, которые могут это сделать, но большинство требуют установки менеджеров загрузки, которые не всегда бесплатны, имеют тенденцию быть бельмом на глазу и использовать много ресурсов. Вот тот, у которого нет ни одного из этих недостатков:

"Download Master" - это расширение для Google Chrome, которое отлично подходит для загрузки из каталогов. Вы можете выбрать, какие типы файлов загружать, или загрузить все справочник.

https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce

для получения обновленного списка функций и другой информации посетите страницу проекта в блоге разработчика:

http://monadownloadmaster.blogspot.com/


wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

С man wget

'- r' ‘--recursive' Включите рекурсивное извлечение. Дополнительные сведения см. В разделе Recursive Download. Максимальная глубина по умолчанию-5.

‘ - np’ ‘ ... нет-родитель’ Никогда не поднимайтесь в родительский каталог при рекурсивном извлечении. Это полезная опция, так как она гарантирует, что будут загружены только файлы ниже определенной иерархии. Посмотреть каталог ограничениями, дополнительные подробности.

' - nH’ '--no-host-directories' Отключить генерацию каталогов с префиксами узлов. По умолчанию вызов Wget с помощью ‘ - r http://fly.srk.fer.hr/ ' создаст структуру каталогов, начиная с fly.srk.Фер.hr/. Этот параметр отключает такое поведение.

'--cut-dirs=число' Игнорировать компоненты каталога номеров. Это полезно для получения мелкозернистого контроля над каталогом, в котором будет рекурсивное извлечение сохраненный.

возьмите, например, каталог в ‘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/ -Нью-Хэмпшир-граненые Дирс=1 -> указать/ -НХ-вырезать-Дирс=2 -> .

--cut-dirs=1 - > ftp.xemacs.org/xemacs/ ... Если вы просто хотите избавиться от структуры каталогов, эта опция похожа на комбинацию "- nd " и "- P". Однако, в отличие от "- nd", "--cut-dirs "не проигрывает с подкаталогами-например, с " - nH-cut-dirs=1", бета/ подкаталог будет помещен в xemacs/beta, как и следовало ожидать.


Плагины не требуются!

использовать букмарклет. Drag этой ссылке в закладках и перейдите на страницу (откуда вы хотите загрузить файлы), затем отредактируйте и вставьте этот код:

(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(); } } })();