Я использую wget для загрузки всех изображений с веб-сайта, и он отлично работает, но сохраняет исходную иерархию сайта со всеми вложенными папками, поэтому изображения разбросаны по сторонам. Есть ли способ, чтобы он просто загружал все изображения в одну папку? Синтаксис, который я использую в данный момент:
wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com
-A
опцией accept , см. Документацию Wget о типах файлов . Кроме того, если вы загружаете в текущий каталог, вы можете удалить-P
опцию префикса каталога . Если вы загружаете файл одного типа, например только jpg, используйте что-нибудь вродеwget -r -A.jpg http://www.domain.com
. Посмотрите на расширенные примеры, которые предоставляет документация Wget.-nd
к вышесказанному заставляет его работать. Вы также можете указать несколько флагов -A, например-A "*foo*" -A "*bar*"
--level=inf
или,--level=9999999999
потому чтоwget
это может сорвать работу из-за максимального уровня глубины рекурсии по умолчанию5
.-nd
: нет каталогов (сохранить все файлы в текущем каталоге;-P directory
изменить целевой каталог)-r -l 2
: рекурсивный уровень 2-A
: допустимые расширения-H
: span hosts (по умолчанию wget не скачивает файлы с разных доменов или поддоменов)-p
: реквизиты страницы (включает ресурсы, например изображения на каждой странице)-e robots=off
: выполнить команду,robotos=off
как если бы она была частью.wgetrc
файла. Это отключает исключение роботов, что означает, что вы игнорируете robots.txt и мета-теги роботов (вы должны знать, к каким последствиям это приведет, будьте осторожны).Пример: получить все
.jpg
файлы из примерного списка каталогов:источник
Я написал сценарий оболочки, который решает эту проблему для нескольких веб-сайтов: https://github.com/eduardschaeli/wget-image-scraper
(Вырезает изображения из списка URL с помощью wget)
источник
Попробуй это:
и подождите, пока он удалит всю лишнюю информацию
источник
wget -nd -r -P /Users/duraiamuthan/Downloads/images/ -A jpeg,jpg,bmp,gif,png http://www.forbes.com/profile/mark-zuckerberg/
Согласно странице руководства, флаг -P:
Это означает, что он указывает только место назначения, но и место для сохранения дерева каталогов. Он не сводит дерево только в один каталог . Как упоминалось ранее, на самом деле это делает флаг -nd.
@Jon: в будущем было бы полезно описать, что делает флаг, чтобы мы понимали, как что-то работает.
источник
Предлагаемые решения идеально подходят для загрузки изображений и если вам достаточно сохранить все файлы в используемом каталоге. Но если вы хотите сохранить все изображения в указанном каталоге без воспроизведения всего иерархического дерева сайта, попробуйте добавить «каталогов» к строке, предложенной Джоном.
в этом случае каталоги не позволят wget создавать подкаталоги до 3-го уровня глубины иерархического дерева веб-сайта, сохраняя все файлы в указанном вами каталоге. Вы можете добавить дополнительные каталоги с более высокими номерами, если вы имеют дело с сайтами с глубокой структурой.
источник
Утилита 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
источник