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


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

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

7 ответов:

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

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

вот еще немного информации:

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

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

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

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

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 hosts (wget не загружает файлы из разных доменов или поддоменов по умолчанию)
  • -p: реквизиты страницы (включает в себя ресурсы, такие как изображения на каждом страница)
  • -e robots=off: выполнить команду robotos=off как будто это была часть . Это отключает исключение робота, что означает, что вы игнорируете роботов.txt и мета-теги робота (вы должны знать, какие последствия это имеет, будьте осторожны).

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

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

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

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

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

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

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

согласно странице man флаг-P:

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

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

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

предлагаемые решения идеально подходят для загрузки изображений, и если вам достаточно сохранить все файлы в каталоге, который вы используете. Но если вы хотите сохранить все изображения в указанном каталоге без воспроизведения всего иерархического дерева сайта, попробуйте добавить "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-го уровня dept в иерархическом дереве сайта, сохраняя все файлы в указанном каталоге.Вы можете добавить больше "cut-dirs" с более высокими номерами, если вы имеете дело с сайтами с глубокой структурой.

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

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

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

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

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

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