Как использовать Wget для загрузки всех изображений в одну папку из URL-адреса?
Я использую wget для загрузки всех изображений с веб-сайта, и он отлично работает, но он хранит исходную иерархию сайта со всеми подпапками, и поэтому изображения разбросаны вокруг. Есть ли способ, чтобы он просто загружал все изображения в одну папку? Синтаксис, который я использую в данный момент:
wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com
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