2

Я использую wget 1.12 (в msys, если это имеет значение) и пытаюсь отразить сайт с параметром -nd , так как имена файлов и папок на этом сайте очень длинные. Документы утверждают, что

‘-nd’
‘--no-directories’
    Do not create a hierarchy of directories when retrieving recursively.
    With this option turned on, all files will get saved to the current
    directory, without clobbering (if a name shows up more than once, the
    filenames will get extensions ‘.n’).

Однако, это не так. Файлы с одинаковыми именами продолжают перезаписываться (например, index.html на большом сайте). Как я могу получить правильное поведение?

PS Причина, по которой имена настолько длинные, заключается в том, что они на иврите и переводятся в ascii% HH. Есть ли другой способ сделать это?

1 ответ1

0

Очень возможно, что вы также использовали -N (--timestamping), что подразумевается, например, -m (--mirror). Это эффективно отключает сохранение файлов с одинаковыми именами. Инструкция для опции -nc (-nc --no-clobber) гласит:

При запуске Wget с ключом -N ... решение о том, загружать или нет более новую копию файла, зависит от локальной и удаленной метки времени и размера файла.

Обычно, если есть 2 файла с одинаковым именем и разным путем (например, index.html), они будут иметь разные размеры, и из-за того, как работает метка времени, файл всегда будет перезаписываться при использовании с параметром -nd .

Вы можете прочитать больше в документации для отметки времени.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .