Как использовать Wget для загрузки всех изображений в одну папку с URL-адреса?

Я использую wget для загрузки всех изображений с веб-сайта, и он отлично работает, но он хранит исходную иерархию сайта со всеми подпапками, и поэтому изображения усеяны вокруг. Есть ли способ, чтобы он просто загрузил все изображения в одну папку? Синтаксис, который я использую в данный момент:

wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com

Ответ 1

Попробуй это:

wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com

Вот еще информация:

-nd предотвращает создание иерархии каталогов (т.е. нет каталогов).

-r позволяет рекурсивный поиск. См. Рекурсивную загрузку для получения дополнительной информации.

-P устанавливает префикс каталога, в который сохраняются все файлы и каталоги.

-A устанавливает белый список для получения только определенных типов файлов. Строки и шаблоны принимаются, и оба могут использоваться в списке, разделенном запятыми (как показано выше). Дополнительные сведения см. В разделе Типы файлов.

Ответ 2

wget -nd -r -l 2 -A jpg,jpeg,png,gif http://t.co
  • -nd: нет каталогов (сохранить все файлы в текущий каталог, -P directory изменить целевой каталог)
  • -r -l 2: рекурсивный уровень 2
  • -A: принятые расширения
wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off example.tumblr.com/page/{1..2}
  • -H: хосты span (wget не загружает файлы из разных доменов или поддоменов по умолчанию)
  • -p: реквизиты страницы (включая ресурсы, например изображения на каждой странице).
  • -e robots=off: выполнить команду robotos=off, как если бы она была частью файла .wgetrc. Это отключает исключение робота, что означает, что вы игнорируете robots.txt и метатеги робота (вы должны знать о последствиях, с которыми это связано, заботиться).

Пример: получить все .jpg файлы из примерного списка каталогов:

$ wget -nd -r -l 1 -A jpg http://example.com/listing/

Ответ 3

Я написал shellscript, который решает эту проблему для нескольких веб-сайтов: https://github.com/eduardschaeli/wget-image-scraper

(Сбрасывает изображения из списка URL-адресов с помощью wget)

Ответ 4

Попробуйте следующее:

wget -nd -r -P /save/location/ -A jpeg,jpg,bmp,gif,png http://www.domain.com

и дождитесь, пока он удалит всю дополнительную информацию.

Ответ 5

В соответствии с титульной страницей флаг -P:

-P префикс      --directory-префикс = префикс          Установите префикс каталога в префикс. Префикс каталога - это          каталог, в котором будут сохранены все другие файлы и подкаталоги          к, то есть к верхней части дерева поиска. По умолчанию. (          текущий каталог).

Это означает, что он указывает только адресат, но где сохранить дерево каталогов. Он не сглаживает дерево только в одном каталоге. Как упоминалось ранее, флаг -nd действительно делает это.

@В будущем было бы полезно описать, что делает флаг, чтобы мы понимали, как что-то работает.

Ответ 6

Предлагаемые решения идеально подходят для загрузки изображений, и если вам достаточно сохранить все файлы в каталоге, который вы используете. Но если вы хотите сохранить все изображения в указанном каталоге без воспроизведения всего иерархического дерева сайта, попробуйте добавить "cut-dirs" в строку, предложенную Джоном.

wget -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.boia.de --cut-dirs=1 --cut-dirs=2 --cut-dirs=3

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

Ответ 7

утилита wget извлекает файлы из World Wide Web (WWW) с использованием широко используемых протоколов, таких как HTTP, HTTPS и FTP. Утилита Wget - свободно доступный пакет, а лицензия - в лицензии GNU GPL. В эту утилиту можно установить любую Unix-подобную операционную систему, включая ОС Windows и MAC. Это неинтерактивный инструмент командной строки. Главной особенностью Wget является его надежность. Он сконструирован таким образом, что он работает в медленных или нестабильных сетевых соединениях. Wget автоматически запускает загрузку, где это было остановлено в случае сетевой проблемы. Также загружает файл рекурсивно. Itll будет пытаться до тех пор, пока файл не будет полностью восстановлен.

Установить wget в Linux-машине sudo apt-get install wget

Создайте папку, в которую вы хотите загрузить файлы. sudo mkdir myimages cd myimages

Щелкните правой кнопкой мыши на веб-странице и, например, если вы хотите, чтобы местоположение изображения щелкнуло правой кнопкой мыши по изображению и скопируйте местоположение изображения. Если имеется несколько изображений, выполните следующие действия:

Если для загрузки из Интернета все 20 изображений одновременно, диапазон начинается от 0 до 19.

wget http://joindiaspora.com/img {0..19}.jpg