Wget - Скачать все изображения с веб-сервера

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

wget -r -PC:/ -A.jpg http://somesitewithjpegs.com/

Насколько я понимаю, эта команда будет рекурсивно сканировать весь сервер только для поиска изображений в формате jpeg, а затем загружать эти изображения на диск C:/. По какой-то причине это не работает.

Глядя на исходный код, я вижу, что изображения на самом деле не встроены непосредственно в страницу, а размещены в другом каталоге на сервере. Поэтому wget не может загрузить эти изображения?

2 ответа

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

Хорошим примером этого является сайт WordPress, который хранит изображения в папке wp-content. Попытка пройти эту папку приводит к ошибке 403. Несмотря на то, что мы можем видеть это изображение в нашем браузере как связанную картинку, wget не имеет к ней доступа, поскольку изображение хранится в каталоге без прямого доступа.

Кто-то может добавить к этому ответу, если я упускаю детали или неправильно объясняю процесс.

Поэтому wget не может загрузить эти изображения?

Ответ: Возможно / Скорее всего.

Попробуйте добавить эти параметры:

-1l -H

-H указывает приложению охватывать домены, что означает, что оно должно следовать ссылкам, указывающим на сайт (возможно, изображения подаются с другого сервера). И -l1 означает углубление только на один уровень, то есть не переходите по ссылкам на связанном сайте. Таким образом, вы сможете загружать содержимое с другого сервера, на котором размещены файлы изображений.

iirc, зеркалируя весь сайт WordPress, вы можете получить доступ к изображениям из папки wp-content.

Другие вопросы по тегам