Как массово скачать картинки по ссылкам powershell
Перейти к содержимому

Как массово скачать картинки по ссылкам powershell

  • автор:

Как массово выкачать фотографии по ссылкам?

Есть большой список ссылок вида
site.ru/upload/iblock/dd3/12.jpg
site.ru/upload/iblock/43a/14.jpg
site.ru/upload/iblock/2ad/80.jpg
site.ru/upload/iblock/6b8/20.jpg
.

Есть ли инструмент или решение для массовой автоматической выгрузки всех изображений по этим ссылкам?

  • Вопрос задан более трёх лет назад
  • 12109 просмотров

1 комментарий

Средний 1 комментарий

уточню : у вас уже есть прямые ссылки на файлы и вы не знаете как массово их скачать?
Решения вопроса 0
Ответы на вопрос 4

fox_12

Расставляю биты, управляю заряженными частицами
wget -i links.txt
Где links.txt — текстовый файл со ссылками
Ответ написан более трёх лет назад
Нравится 6 3 комментария

iPandora

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

fox_12

Ольга, ну собственно в ответе указан инструмент — wget

iPandora

Владимир Куц, спасибо, все получилось)
Cloud infrastructure, monitoring engineer. SRE
Powershell скрипт

get-content d:\filewithlinks.txt | foreach

если не ошибаюсь то еще
wget -i d:\filewithlinks.txt можно =)

Ответ написан более трёх лет назад
Нравится 4 2 комментария

Офигенный скрипт, причём часть имени ссылки остаётся, это самое главное.

Задача у меня такая:

Выгрузить 2 700 фото по ссылкам, поставить эмблему и загрузить обратно.

Эмблему знаю чем массово ставить нужного мне размера и в определённое место.

Вот как расшарить фото, чтобы получить уже ссылки на новые фото?
У меня в интернет-магазин фото заливаются только по ссылкам на них, при чём обязательно в конце должно быть расширение файла jpg или png и нужно бы сохранить имя фото, при заливке куда или расшаривании, чтобы потом совместить ссылку с артиклом или со старой ссылка, где содержится такое же имя ссылки.

В общем название фото должно остаться такое же, при заливке куда-либо для расшаривания.
Как это осуществить?

Как загрузить все картинки по ссылкам?

Доброго дня!
Есть таблица с ссылками на картинки (www.сайт. /картинка.jpg)
Как массово загрузить картинки по этим ссылкам?
Есть ли бесплатный способ?
Спасибо!

  • Вопрос задан более трёх лет назад
  • 396 просмотров

Комментировать
Решения вопроса 1

monkeybone

Артём @monkeybone Автор вопроса
начинающий web разработчик
Всем спасибо!
Нашел макрос для Excel который это делает, немного подработал его для себя
МАКРОС
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 1
Сергей Ильин @sunsexsurf
IT & creative

почему бы не воспользоваться бесплатным проходом по циклу?
что-то в духе:

from PIL import Image image_list = [тут у вас список ссылок с картинками] for i in image_list: image = Image.open(i) image.save(имя картинки.png)

только подумать, как вам имена картинок давать (да хоть из другого списка, вай нот)
типа

image_number = 1 image_name = 'file number <>.png'.format(image_number)

и потом image_number увеличивать на 1 к каждому новому i in image_list

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

парсинг

  • Парсинг
  • +1 ещё

Как сделать так чтобы в строке distance были только цифры?

  • 1 подписчик
  • 15 часов назад
  • 34 просмотра

Как массово скачать картинки по ссылкам powershell

Как по списку ссылок на картинки скачать и переименовать

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

На сайте с 15.01.2014
26 декабря 2019, 04:03
написать скрипт, который все это зделает
Я вебмастер высшего уровня. Разработка веб-приложений и скриптов. Пишите в телегу.
На сайте с 17.02.2013
27 декабря 2019, 05:18

Через любой Линукс. wget –I url.txt где url.txt файл с ссылками на картинки. Для исключения повторов в название файла можно время скачивания дописывать, если повторы не скоро то проблем не будет. Кстати если повторов не катастрофически много то с помощью экселя или лилбкалка их можно убрать/переименовать если лень с командной строкой или скриптами играться.

На сайте с 03.11.2008
28 декабря 2019, 20:50

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

Как массово скачать картинки по ссылкам powershell

Сообщения: 2
Благодарности: 0

Пишу на PowerShell, но с C# идея одна и также.
$rootdir = «C:\temp» $hhh = Get-Date $hhh = $hhh.AddHours(4).ToString(«yyyyMMddHH») $url_struct_1 = «http://sat106.sat24.nl/h-image.ashx?region=eu&time=» + $hhh + «00» + «&ir=False» $path_1 = $rootdir + «\maps\sat106.sat24.nl\» + $hhh + «00» + «.jpg» try catch [System.Net.WebException]

есть сайт. http://sat24.com/history.aspx с него надо скачать скриптом карту. Пробелма в том, что сервер не отдает прямую ссылку. В случае если ссылка прямая, все качается нормально. В случае не прямой ссылки изображение скачивается с нулевым размером. Как решить проблему?

p.s. чтобы скрипт заработал нуно создать папку:
C:\temp\maps\sat106.sat24.nl\

Скачиваем все изображения с сайта с помощью power shell

Бложик Иного

Всем привет, здесь будет ультра короткая инструкция, в первую очередь для себя, как выкачать все картинки с сайта, если ссылки имеем в .txt файле. Для других типов файлов тоже должно работать.

  1. Запускаем powershell
  2. Импортируем модуль BitsTransfer
Import-Module BitsTransfer
get-content .\linksimages.txt | foreach

Где .\linksimages.txt список url изображений. после Destination записывается место куда сохраняем.

PowerShell: парсинг веб-страниц и загрузка файлов с Invoke-WebRequest

Я изучаю PowerShell по мере возникновения задач. Если надо что-то автоматизировать, я смотрю, как соотносится реализация в PowerShell с моими знаниями. И держу в уме, что мне есть к кому обратиться, если знаний не хватит ��

[+] Сегодня в программе
  • История вопроса и задача
  • Получение содержимого страницы и выбор нужных ссылок
  • Загрузка файлов по ссылкам
  • Парсинг заголовков
  • Экономия на запросах

История вопроса и задача

Есть замечательный ресурс smartfiction.ru, публикующий по будням короткие рассказы. Для меня главная ценность в их автоматической доставке на Kindle. Работает это очень просто: на сайте даете почтовый адрес Kindle, а в настройках Amazon добавляете в разрешенные адрес рассылки, после чего книга скачивает отправленные рассказы автоматически.

Invoke-WebRequest

Точнее – работало, потому что в какой-то момент рассказы перестали приходить. Сервис подписки на другом домене, а он недоступен, как выяснилось. Я написал письмо на адрес обратной связи, но оно осталось без ответа. Однако рассказы на сайте публикуются, и под каждым есть ссылка для загрузки в mobi.

Invoke-WebRequest

Поэтому задача свелась к тому, чтобы автоматизировать закачку этих файлов. Первая мысль была расчехлить консольный wget, но тут же возникла ассоциация с PowerShell. Ведь wget – это псевдоним командлета Invoke-WebRequest.

Получение содержимого страницы и выбор нужных ссылок

Invoke-WebRequest умеет отправлять запросы HTTP/HTTPS/FTP, парсить ответ и возвращать наборы элементов HTML – ссылки, формы, изображения и т.д. Попробуйте любой сайт так:

Invoke-WebRequest -Uri "http://smartfiction.ru"

Для каждой ссылки легко выводится набор атрибутов.

$Site = "http://smartfiction.ru/" $HttpContent = Invoke-WebRequest -Uri $Site $HttpContent.Links innerHTML : smartfiction innerText : smartfiction outerHTML : smartfiction outerText : smartfiction tagName : A title : smartfiction href : http://smartfiction.ru/ rel : home

Выше показана только первая ссылка страницы, но нужна конкретная. В Chrome щелкните правой кнопкой мыши по ссылке – «Посмотреть код элемента» и сопоставьте с выводом PowerShell. Интересующие атрибуты – это innerText (текст ссылки) и href (URL).

Invoke-WebRequest

Передав запрос по конвейеру командлету Where-Object, можно получить список всех ссылок на книги в формате mobi (ниже показана только первая).

$HttpContent.Links | Where-Object | fl innerText, href innerText : mobi href : http://convert.smartfiction.ru/?uri=http%3A%2F%2Fsmartfiction.ru%2Fprose%2Fhot_and_cold_blood%2F&format =mobi

Загрузка файлов по ссылкам

Информации выше уже достаточно для первой версии скрипта.

$Site = «http://smartfiction.ru/» $HttpContent = Invoke-WebRequest -Uri $Site $HttpContent.Links | Where-Object | %

Первые три строки вы уже видели, поэтому разберу четвертую. Список ссылок по конвейеру передается командлету ForEach-Object (псевдоним %). Он выполняет запрос для каждой ссылки ($_.href) и сохраняет ответ сервера в файл со случайным именем и расширением mobi. Таким образом, со страницы скачиваются все книги в формате mobi.

Случайное имя с числовым значением от 0 до 10001 генерирует командлет Get-Random. Это костыль, потому что имя файла в атрибутах ссылки не содержится. Но до него можно добраться!

Парсинг заголовков

В ответ на запрос о ссылке на книгу сервер выдает такую картину.

Invoke-WebRequest -Uri "http://convert.smartfiction.ru/?uri=http%3A%2F%2Fsmartfiction.ru%2Fprose%2Fhot_and_cold_blood%2F&format=mobi" StatusCode : 200 StatusDescription : OK Content : RawContent : HTTP/1.1 200 OK Transfer-Encoding: chunked Connection: keep-alive Status: 200 OK content-disposition: attachment; filename="hot_and_cold_blood.mobi" content-transfer-encoding: binary x-ua-compat. Headers : <[Transfer-Encoding, chunked], [Connection, keep-alive], [Status, 200 OK], [content-disposition, at tachment; filename="hot_and_cold_blood.mobi"]. >RawContentLength : 46350

Имя файла тут есть: filename=»hot_and_cold_blood.mobi». Но я сразу приуныл, потому что извлечь его можно только регулярным выражением, которые я исторически не осилил. Однако меня быстро утешил в Телеграме Вадимс Поданс ��

$r = Invoke-WebRequest -Uri "http://convert.smartfiction.ru/?uri=http%3A%2F%2Fsmartfiction.ru%2Fprose%2Fhot_and_cold_blood%2F&format=mobi" $r.Headers["content-disposition"] -match 'filename=\"(.+)\"' | Out-Null $matches[1] hot_and_cold_blood.mobi

Регулярное выражение берет из ответа заголовки (Headers) и вытаскивает имя файла из секции content-deposition.

В результате получается такой скрипт.

$Site = «http://smartfiction.ru/» $HttpContent = Invoke-WebRequest -Uri $Site $HttpContent.Links | Where-Object | %

Экономия на запросах

Код выше вполне рабочий, но перфекциониста не устроит. Каждая ссылка на книгу запрашивается с сервера дважды: сначала для получения имени файла, затем для загрузки. Убрать лишний запрос из цикла несложно – достаточно присвоить ему переменную. Но я не мог сообразить, как это дело вывести в файл.

Вадимс подсказал командлет Set-Content. В данном случае он сохраняет содержимое ответа в файл с именем, полученным с помощью регулярного выражения.

$Site = «http://smartfiction.ru/» $HttpContent = Invoke-WebRequest -Uri $Site $HttpContent.Links | Where-Object | %

Иногда серверы блокируют слишком частые запросы с одного хоста. Поэтому в качестве последнего штриха я добавил в цикл трехсекундную паузу командлетом Start-Sleep.

Если хотите потренироваться, вот тут масса бесплатных книг Microsoft. А у вас возникают подобные задачи? Как решаете?

Метки: PowerShell, скрипты Информация в статье применима к Windows 7 и новее

Об авторе

Вадим — владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.

Вас также может заинтересовать:
  • Как найти исчезнувшие статьи базы знаний Microsoft
  • PowerShell: как извлечь список уникальных ссылок с веб-страницы
  • Как в Windows автоматически выполнять задачи на восходе и закате солнца
  • Как скачать видео с YouTube с помощью youtube-dl и PowerShell
  • PowerShell: сохраняем исчезающие блоги Microsoft MSDN и TechNet
  • Трюки утилиты certutil
  • Как массово задать дату изменения или создания файлов в PowerShell
  • Как удалить неудаляемые языки и раскладки клавиатуры в Windows
  • 8 полезных возможностей PowerShell 5.0, о которых вы могли и не знать
  • Как массово переименовать файлы по маске в PowerShell
  • Сбор и анализ сведений о системе с помощью PowerShell

Я в Telegram

Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.

комментариев 13

    nett00n10.04.2018 в 10:29

Сначала хотел написать, что при помощи Bash и curl/wget получилось бы проще, потом смоделировал скрипт в голове и понял, что нет, не проще.

Ваша оценка: Thumb upThumb down0

Выбирать инструмент, которым лучше владеешь — нормально, даже если в итоге не проще �� Но PowerShell очень компактно решает эту задачу, благодаря конвейеру. И, как я написал в чате, в первой версии скрипта используются только базовые возможности PS, которые используешь практически всегда: ? | % $_. $()

Ваша оценка: Thumb upThumb down+1

  • Lecron 13.04.2018 в 18:35

Эту — несомненно. За исключением неявного формирования переменной $matches, все классно. Только выигрывая на простых задачах, слишком легко эту простоту разрушить. Очень быстро догнав и перегнав по сложности кода традиционные скриптовые языки.
Допустим надо искать не ссылки, а блоки книги. Фильтровать их по некоторым полям, например пользовательскому рейтингу. И только потом, уже в самом блоке, искать нужную ссылку. Четкого якоря, типа «mobi», для которой может не быть.

Ваша оценка: Thumb upThumb down0

Думаю, что это можно было сделать с помощью MS Flow (аналог IFTTT, но более мощный) без программирования. Но у них ограничение на количество бесплатных запусков — 75. Хотя в данном случае — этого хватит. ��

Ваша оценка: Thumb upThumb down0

MS Flow умеет парсить веб-страницы?

Ваша оценка: Thumb upThumb down0

nett00n:
Сначала хотел написать, что при помощи Bash и curl/wget получилось бы проще, потом смоделировал скрипт в голове и понял, что нет, не проще.

Выдрать ссылки — проще некуда.
lynx -dump http://smartfiction.ru |grep ‘epub$’ |tail -10 |awk » > /home/user/urllist.txt
|tail -10 использовал для удобства — скрипт пробный и все ссылки мне не нужны, оставил только первые 10.
Но при попытке скачать wget файл по ссылке получаю Internal Error 500. curl выдает ту же ошибку.

Ваша оценка: Thumb upThumb down0

Лучше на другом сайте тренироваться, а то сломаем хороший сайт окончательно. Вот тут куча бесплатных книг Microsoft.

Ваша оценка: Thumb upThumb down0

Вадим, я делал похожий пример, когда парсил русскоязычную версию сайта Вадимса, для истории �� , а так же mp3 с djpromo сайта скачивал на флешку в машину.

Ваша оценка: Thumb upThumb down0

Публикуется не более одного рассказа в день. Если скрипт запускать ежедневно, и качать только последний, то Start-Sleep не нужен. Иначе нужно вести учет скачанного или проверять существование файла, для исключения повторной закачки. Для перфекциониста это как серпом по :).
И зачем запрашивать заголовки, если имя файла можно получить сразу из url-а? А так как читалка берет инфу из тегов, и ей имя по-барабану, то можно и суррогатным обойтись. Только не случайное число а дату.

Ваша оценка: Thumb upThumb down0

Lecron: Иначе нужно вести учет скачанного или проверять существование файла, для исключения повторной закачки.

Я, конечно, думал об этом, но решил не уводить скрипт в сторону, потому что этот момент все-таки специфичен для мой конкретной задачи.

Lecron: И зачем запрашивать заголовки, если имя файла можно получить сразу из url-а? А так как читалка берет инфу из тегов, и ей имя по-барабану, то можно и суррогатным обойтись.

Цель поста — показать приемы на конкретной задаче. В данном случае имя файла не имеет значения, конечно. Но в каком-то другом — скорее да, чем нет. Можно парсить URL, но парсинг заголовков полезнее. Например, для задачи, где в URL — linkID=45105045.

Lecron: Только не случайное число а дату.

�� Дата была в исходном варианте скрипта, но я уже разбирал Get-Date в блоге, а Get-Random — нет.

Ваша оценка: Thumb upThumb down+1

  • Lecron 13.04.2018 в 20:09

Vadim Sterkin: Я, конечно, думал об этом, но решил не уводить скрипт в сторону, потому что этот момент все-таки специфичен для мой конкретной задачи.

ОК. Тогда строго по теме. Доступ не только к ссылке, но и извлечение информации из произвольного селектора (div). Итерация по блокам, например книгам «div.post» и обращение к селекторам только внутри него. Пара примеров доступа по классу, id, произвольному свойству, css query.
Это не выйдет за рамки простого примера, но и не окажется настолько примитивным. Понимаю, что есть книги, но эта информация скорее нужна не для обучения, а для оценки перспектив. Прикинуть, насколько стоит использовать штатный инструмент и когда станет пора расчехлять нечто по-мощнее.

Ваша оценка: Thumb upThumb down0

Я написал на примере практической задачи, причем вполне распространенной (см. ссылку в конце статьи). Примитивно? Нет, но просто. А для ваших хотелок у меня практических задач нет. И даже если будут, вряд ли стану писать для 2.5 человек. Хотите оценить перспективы — попробуйте сами сделать то, что вы попросили.

Ваша оценка: Thumb upThumb down0

Такой же подход, изучаю по мере выполнения задач. Накатал скриптов, начиная от задач, связанных с музыкой — рип, конвертация, прослушивание, в основном, как скриптовый фронт-енд к lame, vorbis, упорядочивания встроенных тэгов и т.д. Для загрузки rss-лент, анекдотов, цитат и прочей погоды. Ну и конечно для выполнения повседневных задач, связанных с администрированием личного ноутбука.

Ваша оценка: Thumb upThumb down0

Как скачать изображения по списку и их оптимизировать сохранив при этом файловую структуру?

Как скачать изображения по списку и их оптимизировать сохранив при этом файловую структуру

Данная методика пакетной оптимизации изображений подходит для обработки большого количества картинок, чтобы массово скачать картинки по ссылкам, в моем примере 1200 файлов которые были в разных форматах (.jpg, .png) и с обязательным сохранением файловой структуры, т.е. расположения папок в которых лежат файлы.

Важно — уровень сложности Средний +
1️⃣ Если прочитав инструкцию вы не смогли понять как сделать самостоятельно, напишите в комментариях свой вопрос.
2️⃣ Если нужен помощник для скачивания картинок с сайтов, или фото товаров и других изображений закажите на Кворке, цены от 500 рублей, раздел на бирже тут >>> «Любая рутинная работа»

Зачем нужна оптимизация изображений?

В рамках технической SEO оптимизации сайта.

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

  1. для оптимизации скорости загрузки страниц;
  2. поведенческие факторы на сайте;
  3. трафик с поиска по картинкам;

Итак если вы хотите знать как скачать изображения по списку URL и их оптимизировать выделите 15-20 минут на изучение этой инструкции и подготовки, именно столько может занять скачивание большого количества картинок и их массовая оптимизация картинок — сжатие, для SEO оптимизации сайта.

Какие инструменты использовать для пакетного скачивания и сжатия?

  1. Сервис массового сжатия изображений irfanview.com (бесплатно).
  2. Консольная утилита WGET — для массового скачивания файлов по заранее подготовленному списку https://eternallybored.org/misc/wget/ (бесплатно).
  3. Лягушка https://www.screamingfrog.co.uk/seo-spider/ (до 500 стр. сканирования бесплатно).

Команда для WGET
c:\wget.exe -i c:\url-list-jpg.txt —secure-protocol=auto -x -nc -c -P c:\files\

Подготовка к работе, что и как делать

Получить список URL всех изображений, чтобы массово скачать картинки по ссылкам

Для начала нужно получить список URL изображений которые нам нужно скачать с сайта и сохранить каждый URL с новой строки в текстовом файле.

Для этого открываем в Screaming Frog вкладку Images и сортируем по размеру более 100 kb.

Сортируем список URL изображений которые более 100 Kb и экспортируем в Excell.

Полученные списком URL картинок фильтруем в Excell по расширению, делаем так со всеми расширениями изображений и каждое расширение нужно сохранить отдельно.

Фильтруем по расширению и сохраянем полученный список URL изображений

Для чего нужно фильтровать по расширению? При сжатии изображений программой irfanview с последующим сохранением она конвертирует все входные форматы в один, т.е. если на входе у нас были смешанные форматы картинок (.png, .jpg, .gif и т.д.) то на выходе получится один формат который задан в настройках программы, например на выходе мы получим все файлы в формате .jpg и потом при массовой заливке на сервер (хостинг) нужно будет вручную править в коде путь к изображению, или делать дополнительно работу по замене кода массово.

Сохраняем полученный файл с названием — «url-list-jpg.txt» в паке откуда будем работать, в моем случае я сохранил на диск C:\

Установка и настройка wget

Найти и скачать можно с любого другого источника, я использовал версию 1.20.3 (64 bit) для Winows 10 вот отсюда https://eternallybored.org/misc/wget/

Распаковываем архив и настраиваем утилиту. Для тех кто пользуется ей впервые как я, это консольная программа без интерфейса.

Для частой работы с WGET ее желательно настроить, но для работ в рамках SEO, тут я имею ввиду, что пользоваться ей буду не так часто и только, чтобы массово скачать картинки с сайта, я её буду запускать командой из консоли, т.е. настройку пропускаю, если вам нужна настройка напишите в комментах сделаю инструкцию.

Скачал и распаковал по такому пути c:\wget. В корне диска также создаю папку «files» куда буду скачивать все картинки по списку URLов и там же в корне диска сохраняю список адресов картинок в текстовом файле, который создал из парсинга Screaming Frog`ом, у меня получилось:

Подготовка к скачиванию

  1. c:\wget — консольная утилита
  2. c:\files — папка куда будут скачены картинки
  3. c:\url-list.txt — наш файл со списком URL картинок

Когда все готово переходим к следующему шагу — к массовому скачиванию файлов изображений по заданному мною списку.

Как массово скачать картинки с сайта — решение

Когда все готово запускаем в консоле нашу утилиту WGET отдаём ей команду на скачивание и ожидаем. Для это в следующей последовательности делаем.

На клавиатуре вызываем командную строку комбинацией Win + R и в ней вводим команду запуска консоли Windows — cmd

вызываем с клавиатуры командую строку и вводим cmd

2 В блокноте создаем готовую команду

В блокноте заранее подготовить команду для консоли

c:\wget.exe -i c:\url-list.txt —secure-protocol=auto -x -nc -c -P c:\files\

Поясню что это за переменные используемые в команде

-i и дальше путь для файла со списком URL для скачивания;
—secure-protocol=auto — это используем, если на сайте защищенный протокол HTTPS, если простой HTTP, то убирайте эту команду;
-h — если важна структура сохранения файлов как на источнике (что очень нужно в моей задаче);
-nc — если файл уже есть, и он скачан полностью, то он не будет загружен заново;
-c — если файл закачан не полностью, то будет продолжена закачка;
-P и дальше папка, куда сохранять данные;

Кому интересны все команды, а их очень много, то просто набираем в консоли wget -h или c:\wget\wget.exe -h

Запускаю в консоле утилиту и процесс скачивания — нажимаю enter, после старта на черном экране будет виден лог операций, по завершению задачи выведется сообщение что команда выполнена, сколько времени прошло и сколько файлов скачено. Если нужно прервать операцию жмем Ctrl + C (Break).

Пакетное изменение размера изображения

Делаем сжатие картинок в разных папках

Завершающим этапом в данной методике будет массовое сжатие .jpg изображений в нескольких папках за один раз.

IrfanView — программа для пакетного изменения размера изображений

Для этого скачиваем программу для пакетной обработки графики IrfanView https://www.irfanview.com/ устанавливаем и настраиваем по следующей инструкции.

IrfanView может обрабатывать изображения в нескольких папка и подпапках, сжимать их, конвертировать и сохранять в тоже файловой структуре которая есть на входе, что как раз мне и нужно потому, что я собираюсь сжимать уже опубликованные картинки и мне их залить нужно в те же папки в которых они находятся (1200 штук).

Настройка IrfanView под нашу задачу пакетного сжатия

Для настройки программы переходим в меню -> File затем выбираем -> Batch Conversion/Rename

Для настройки программы переходим в меню -></p>
<p> File затем выбираем -> Batch Conversion/Rename» width=»1024″ height=»695″ /></p>
<p>Следующий шаг настройки — добавить все папки и подпапки с нашими файлами изображений.</p>
<p> <img loading=

1 — В настройках IrfanView «Batch Convertion» нужно поставить «галочку» 2 — «Include subfolders» (включая подпапки), 3 — далее выбираем путь к нашим картинкам и 4 — добавляем всё. В нижнем окне результатом появятся все файлы изображений.

Теперь переходим к настройкам сжатия без значительной потери качества изображений, тут сразу скажу, что каждый должен его протестировать и подобрать под свои задачи степень сжатия.

Переходим к настройкам сжатия в .JPG в том же окне «Batch Convertion» нажав на «Options»

Настройки сжатия изображений в IrfanView

В настройках сжатия оставляем только «Save as progressive JPG» — сохранить в формате «Прогрессивный JPG». Для сравнения загрузок обоих форматов приведу пример.

Что же я отключил в настройках IrfanView? Я отключил всё что облегчит нашим картинкам загрузку и увеличит PageSpeed Insights а именно такую дополнительную информацию об изображении как время и место съемки, авторство, информацию о фотоаппарате или устройстве съёмки и т.д.

Устанавливаем настройки сжатия и формат сжатия прогрессивный .jpg

Пакетное сжатие всех изображений

В следующем шаге 1 — Use advanced options (for bulk resize…) выбираем 2 — Advaced в открывшимся окне ставим выбор 3 — Create subfolders in destination folder (Создавать подпапки) это то из-за чего весь путь и проделан чтобы сжать все скаченные файлы и сохранить при этом структуру папок где они находились.

4 — нажимаем Start Batch, а затем наблюдаем за сжатием ⏳

Как пакетно сжать все изображения финальный шаг

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

Видеоинструкция как массово скачать и сжать изображения

Видеоинструкция 8 минут

А какие вы используете методы пакетного сжатия и оптимизации картинок? Напишите в комментариях, будет интересно обсудить.

Важно — уровень сложности Средний +
1️⃣ Если прочитав инструкцию вы не смогли понять как сделать самостоятельно, напишите в комментариях свой вопрос.
2️⃣ Если нужен помощник для скачивания картинок с сайтов, или фото товаров и других изображений закажите на Кворке, цены от 500 рублей, раздел на бирже тут >>> «Любая рутинная работа»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *