2010-06-28 2 views
4

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

Wget -e роботы = выкл -r -l1 --no-родитель -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-адреса, и он работает нормально, но в случае каталога он не работает.

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

ответ

4

Если вы знаете имена (вы должны, если удаленный каталог не открыт, и содержимое не может быть указано), рассмотрите возможность их использования в файле и используйте 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

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

+0

, но если я укажу имя изображения в URL-адресе: http: //abc.com/Image/images/abc.gif, то я смогу загрузить эти изображения и то же самое для других изображений в папке. Но при попытке получить всю папку он дает ошибку. – ha22109

+1

Действительно. Понимаете, когда вы указываете прямой URL как параметр, wget имеет всю информацию, необходимую для загрузки этого файла. Но имя каталога не дает информации о его содержимом. Итак, когда вы передаете wget имя каталога, он запрашивает этот каталог (как если бы он был файлом). Когда запрашивается каталог с веб-сервера, веб-сервер пытается обслуживать список этого каталога, если index.html (или другой файл индекса) отсутствует. Так как это не разрешено на этом веб-сервере, wget не получает листинг и не знает, что загрузить. – Shade

0

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

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

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

Смежные вопросы