Загрузка всех изображений с сайта
Я пытаюсь скачать все изображения сайта
вот сайт:
https://wall.alphacoders.com/by_sub_category.php?id=173173&name=Naruto+Wallpapers
Я старался:
wget -nd -r -P /home/Pictures/ -A jpeg,jpg,bmp,gif,png https://wall.alphacoders.com/by_sub_category.php?id=173173&name=Naruto+Wallpapers
s
Но он не загружает изображения
результат
HTTP-запрос отправлен, ожидание ответа... 200 OK Длина: не указано [text/html] /home/Pictures: В доступе отказано / home / Pictures/by_sub_category.php? Id=173173: Нет такого файла или каталога
Невозможно записать в '/home/Pictures/by_sub_category.php?id=173173' (нет такого файла или каталога).
1 ответ
Для загрузки всех изображений с указанной страницы с помощью wget вы можете использовать эту команду:
wget -i `wget -qO- https://wall.alphacoders.com/by_sub_category.php\?id\=173173\&name\=Naruto+Wallpapers | sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p'`
В этом примере HTML-файл загружается с помощью wget в STDOUT, анализируется с помощью sed, так что остается только img URL и передается в wget -i
в качестве входного списка для скачивания.
Обратите внимание, что он будет загружать только изображения на этой странице, но это всего лишь миниатюры (шириной 350 пикселей).
Если вы хотите загрузить полные изображения, вы должны сделать шаг вперед и изменить проанализированные URL-адреса IMG, чтобы они соответствовали изображениям высокого разрешения. Вы можете сделать это с помощью sed или awk:
wget -i `wget -qO- https://wall.alphacoders.com/by_sub_category.php\?id\=173173\&name\=Naruto+Wallpapers | sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p' | awk '{gsub("thumb-350-", "");print}'`
Результатом выполнения последней команды является набор обоев HD на вашем диске