Как вы указываете wget рекурсивно сканировать веб-сайт и загружать только определенные типы изображений?
Я попытался использовать это для сканирования сайта и загрузки только изображений в формате JPEG:
wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html
Однако, несмотря на то, что page1.html содержит сотни ссылок на подстраницы, которые сами имеют прямые ссылки на изображения, wget сообщает о таких вещах, как «Удаление subpage13.html, поскольку оно должно быть отклонено», и никогда не загружает никаких изображений, поскольку ни одно из них не имеет прямой ссылки на с начальной страницы.
Я предполагаю, что это потому, что мой --accept используется для направления сканирования и фильтрации содержимого для загрузки, тогда как я хочу, чтобы он использовался только для направления загрузки содержимого. Как я могу заставить wget сканировать все ссылки, но загружать только файлы с определенными расширениями, такими как * .jpeg?
РЕДАКТИРОВАТЬ: Кроме того, некоторые страницы являются динамическими и генерируются с помощью сценария CGI (например, img.cgi? Fo9s0f989wefw90e). Даже если я добавлю cgi в свой список принятия (например, --accept = jpg, jpeg, html, cgi), они все равно будут отклонены. Это можно обойти?
Как вы ожидаете, что wget будет знать содержимое файла subpage13.html (и, следовательно, jpg, на который он ссылается), если ему запрещено загружать его. Я предлагаю вам разрешить HTML, получить то, что вы хотите, а затем удалить то, что вы не хотите.
Я не совсем уверен, почему ваши cgi отклоняются ... Есть ли какие-либо ошибки, выводимые wget? Возможно, сделайте wget verbose (
-v
) и посмотрите. Может быть лучше, как отдельный вопрос.Тем не менее, если вы не заботитесь о пропускной способности и загружаете много, то удалите то, что вам не нужно после, это не имеет значения.
Также проверьте
--html-extension
Со страницы руководства:
--restrict-file-names=unix
может также быть полезным из-за этих URL CGI ...источник
--no-parent
но я на этом остановлюсь.Вы также можете использовать MetaProducts Offline Explorer без программирования
источник
Попробуйте добавить
--page-requisites
опциюисточник