7

У меня есть веб-каталог, в котором есть много папок и много подпапок, содержащих файлы.

Мне нужно скачать все, используя Wget или Bash.

7 ответов7

13

Попробуйте: wget -r и посмотрите, работает ли это.

9

Лучший способ это:

wget -m <url>

Что сокращенно от wget "mirror":

  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.
7
$ wget \
 --recursive \
 --no-clobber \
 --page-requisites \
 --html-extension \
 --convert-links \
 --restrict-file-names=windows \
 --domains website.org \
 --no-parent \
     www.website.org/tutorials/html/

Эта команда загружает веб-сайт www.website.org/tutorials/html/.

Варианты:

  • --recursive: скачать весь веб-сайт.
  • --domains website.org: не переходите по ссылкам за пределами website.org.
  • --no-parent: не переходить по ссылкам за пределами каталога tutorials/html/.
  • --page-Requisites: получить все элементы, составляющие страницу (изображения, CSS и т. д.).
  • --html-extension: сохранять файлы с расширением .html.
  • --convert-links: конвертировать ссылки, чтобы они работали локально, автономно.
  • --restrict-file-names = windows: изменить имена файлов, чтобы они также работали в Windows.
  • --no-clobber: не перезаписывать существующие файлы (используется в случае, если загрузка прервана и возобновлена).

Ссылка на источник

Или попробуйте решение от Ubuntu.

3

wget --recursive (или что-то еще) не работает для меня (я на CentOS). lftp сделал это:

 lftp -c "open http://your.server/path/to/directory/; mirror"
0

Смотрите Wget Рекурсивный поиск.

wget -r -l 5 -O whatever http://example.com/
0

У вас есть веб-каталог? Он расположен на удаленной машине, и вы можете получить к нему доступ только через HTTP, или у вас есть доступ к оболочке? Ваше упоминание bash подразумевает доступ к оболочке, если вы не подразумеваете использование wget из командной строки bash.

Wget не всегда очень эффективен, поэтому, если у вас есть доступ с оболочки к машине, на которой расположен веб-каталог, и вы хотите скачать ее, вы можете сделать это

$ tar cjf webdir.tar.bz2 webdir 

а затем перенести архив с помощью ftp или scp.

0

Вы также можете попробовать следующее, если у вас есть учетная запись FTP:

lftp USER:PASSWORD@FTPSERVER -e "mirror&&exit"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .