Загрузка папки изображений с помощью wget - PullRequest
4 голосов
/ 28 июня 2010

Мне нужно написать строку в моем скрипте, чтобы загрузить каталог (имеющий около 10 изображений) с URL-адреса, например abc.com/Image/images/,tring wget, как показано ниже в скрипте:

wget -e robots = off -r -l1 --no-parent -A.gif http://abc.com/Image/images/ ИЛИ wget -A "* .gif" http://abc.com/Image/images/

но выдает ошибку как:

HTTP-запрос отправлен, ожидание ответа ... 403 Запрещено 11:25:12 ОШИБКА 403: Запрещено. Удаление abc.com/Images/images/index.html, поскольку оно должно быть отклонено. unlink: нет такого файла или каталога

Я уже использую команду wget для загрузки одного файла с того же URL-адреса, и он работает нормально, но в случае с каталогом происходит сбой.

Может ли кто-нибудь помочь мне быстро в этом?

Ответы [ 3 ]

4 голосов
/ 28 июня 2010

Если вы знаете имена (вы должны это сделать, если удаленный каталог не «открыт» и контент не может быть указан в списке), подумайте о том, чтобы поместить их в файл, и используйте for или while (в bashили powershell или что у вас есть) или подобное;если имена следуют «шаблону», рассмотрите возможность использования curl, вместо этого вы можете делать такие вещи, как

curl http://asdf.com/what/ever/image/img[00-99].gif -o img#1.gif

, чтобы загружать изображения с именами img00.gif, img01.gif и т. д.

1 голос
/ 28 июня 2010

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

0 голосов
/ 28 июня 2010

Это невозможно.

wget не может знать, какие файлы существуют на удаленном сервере.

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

...