wget неправильно конвертирует URL-адреса, если указано –convert-links

Согласно man-страницам, когда я указываю --convert-links для wget:

После завершения загрузки конвертируйте ссылки в документе, чтобы сделать их подходящими для локального просмотра […] Обратите внимание, что только в конце загрузки Wget может узнать, какие ссылки были загружены. Из-за этого работа, выполняемая -k, будет выполнена в конце всех загрузок.

Скажем, я делаю что-то вроде wget --convert-links http://stackoverflow.com . Этот сайт достаточно велик, и я никогда не смогу полностью загрузить все. В этом случае я никогда не смогу перевести мои ссылки?

Когда я запускаю это локально из /tmp/wget , я вижу каталог с именем stackoverflow.com с такими файлами, как index.html и tour.html . Но когда я загружаю индексную страницу и наводил курсор на ссылку для тура, мне требуется file:///tour.html , а не file:///tmp/wget/stackoverflow.com/tour.html ( фактическое местоположение файла).

One Solution collect form web for “wget неправильно конвертирует URL-адреса, если указано –convert-links”

Кажется, что ваш единственный вопрос:

В этом случае я никогда не смогу перевести мои ссылки?

Наверное, нет. Вы можете попробовать это с ограниченным по размеру разделом и посмотреть, что делает wget, когда у него заканчивается свободное пространство (или используйте параметр --quota , по-видимому, он все равно будет конвертировать с этим).

Я могу понять, почему это стратегия. Если бы это было сделано «на лету», нам нужно было бы пройти через каждый документ для каждого загружаемого предмета. Рассматривать:

  • Загружается A.html.
  • Загрузите B.html, теперь проверьте A.html на ссылки.
  • C.html загружается, теперь проверяем A.html и B.html ссылки.
  • …и так далее.

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

  • не может wget rpm oracle на centos linux
  • wget изменение имени изображения изнутри страницы
  • Продолжить загрузку, если временная метка не изменилась
  • Как использовать diff при выполнении wget?
  • Wget с другим именем файла, но с тем же расширением
  • Как получить прямую ссылку на загружаемый файл (для использования с wget или cURL), который обычно загружается через Javascript в веб-браузере
  • wget с подстановочными знаками при загрузке http
  • Как передать файлы, загруженные с помощью wget через tar?
  • Использование wget, Какая правильная команда для получения gzip-версии вместо фактического HTML
  • Wget, загрузка устаревших файлов
  • Как исправить кодировку имени файла
  • Linux и Unix - лучшая ОС в мире.