Как использовать 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