Вы можете попытаться пропустить файлы с
--reject
опцией (также принимает символы подстановки):wget --reject index.html
Однако вы не хотите этого делать. При использовании wget с -r
каким-то образом ему нужно получить список файлов внутри каталога. Таким образом, wget запрашивает файл index.html и анализирует содержимое в надежде найти пути к другим файлам в этом каталоге. Если в папке нет файла index.html, веб-сервер обычно генерирует его для wget - этот файл будет содержать список каталогов. Создание этого файла списка должно быть разрешено на веб-сервере - в противном случае wget получит ответ HTTP 404 и потерпит неудачу при рекурсивной загрузке.
- Это размер файла в байтах.
- Это означает, что файл не может быть удален (возможно, потому что он не был создан в первую очередь). У вас есть разрешение на запись в каталог, в который вы загружаете с помощью wget?
Изменить: После тестирования загрузки wget с, --spider
и --recursive
я воспроизвел вашу ошибку unlink. Похоже, что wget использует тип содержимого ответа, чтобы определить, может ли файл содержать ссылки на другие ресурсы. Если проверка типа контента не пройдена и файл не загружен, wget все равно попытается удалить временный файл, как если бы он был загружен (это очевидно при повторном запуске wget с помощью --debug
. Это будет четко указано Removing file due to --spider in recursive_retrieve():
). Я полагаю, вы нашли ошибку в wget.