Загрузите ВСЕ папки, вложенные папки и файлы с помощью Wget

21

Я использовал Wget и столкнулся с проблемой. У меня есть сайт, на котором есть несколько папок и подпапок. Мне нужно скачать все содержимое в каждой папке и подпапке. Я пробовал несколько методов, используя Wget, и когда я проверяю завершение, все, что я вижу в папках, это «индексный» файл. Я могу нажать на индексный файл, и он приведет меня к файлам, но мне нужны сами файлы.

у кого-нибудь есть команда для Wget, которую я пропустил, или есть другая программа, которую я мог бы использовать, чтобы получить всю эту информацию?

пример сайта:

www.mysite.com/Pictures/ в папке Pictures DIr есть несколько папок .....

www.mysite.com/Pictures/Accounting/

www.mysite.com/Pictures/Managers/Северная Америка / Калифорния / JoeUser.jpg

Мне нужны все файлы, папки и т.д .....

Ужасный Генри
источник
1
Вы читали документацию для wget, в частности, для ее рекурсивного использования ?
Моисей
Там же статья в документации здесь , что кажется уместным.
Моисей

Ответы:

38

Я хочу предположить, что вы не пробовали это:

wget -r --no-parent http://www.mysite.com/Pictures/

или для извлечения контента, не загружая файлы «index.html»:

wget -r --no-parent --reject "index.html *" http://www.mysite.com/Pictures/

Справка: Использование wget для рекурсивного извлечения каталога с произвольными файлами в нем

Феликс Имафидон
источник
1
Спасибо, я выполнил эту команду несколько раз, но я не позволил команде завершить весь процесс до конца. Я получил отслеживание стороны и позволил команде фактически завершиться, и она сначала скопировала ВСЕ папки, затем вернулась назад и скопировала ВСЕ файлы в папку.
Ужасный Генри
просто идет, чтобы показать вам, если бы у меня было терпение, я бы сделал это 2 недели назад .... LOL. :) Спасибо еще раз.
Ужасный Генри
@Horrid Генри, поздравляю!
Феликс Имафидон
Я использую подобную команду, но получаю только файл index.html!
Шенквен
20

я использую wget -rkpN -e robots=off http://www.example.com/

-r значит рекурсивно

-kозначает конвертировать ссылки. Так что ссылки на веб-странице будут localhost вместо example.com/bla

-p означает получить все ресурсы веб-страницы, поэтому получите изображения и файлы javascript для правильной работы сайта.

-N для получения меток времени, поэтому, если локальные файлы новее, чем файлы на удаленном веб-сайте, пропустите их.

-eэто опция флага, она должна быть там для robots=offработы.

robots=off означает игнорировать файл роботов.

У меня также было -cв этой команде, так что если они потеряли соединение, продолжили бы с того места, где оно было прервано, когда я перезапущу команду. Я подумал, -Nчто будет хорошо с-c

Тим Джонас
источник
Не могли бы вы добавить пару предложений к вашему ответу, чтобы объяснить, что делают эти настройки параметров?
fixer1234
извиняюсь. конечно, плохо добавлю их сейчас
Тим Джонас
Я обновил свой ответ
Тим Джонас
Благодарю. Так должен ли -c быть частью вашего командного примера или добавляться по желанию после неполной загрузки? Кроме того, -e так, что команда имеет приоритет над любой, которая может быть в .wgetrc? И это опечатка для -r (рекурсивная или затворная)?
fixer1234
Да, это правильно. Да -eвыполнит команду, как если бы она была частью .wgetrc. Я добавил ее туда, так как robots=offтам, похоже, не получилось.
Тим Джонас
1

wget -m -A * -pk -e robots = off www.mysite.com/ это будет загружать все типы файлов локально и указывать на них из файла html,
а также игнорировать файл роботов

Абдалла Мохамед Али Ибрагим
источник