1

Я пытаюсь отразить целевую страницу сайта, чтобы провести на ней тестирование.

Есть ли способ отразить только первый уровень сайта? IE все запросы должны становиться локальными файлами только для первой индексной страницы (не wget -m -k).

Мне комфортно с командной строкой, поэтому что-то, использующее инструмент CLI, вполне приемлемо.

Заранее спасибо!

1 ответ1

1

Чтобы получить только индексную страницу сайта и его реквизиты и преобразовать их для локального рендеринга, следующий вызов wget (конечно, заменив пример URL на тот, который вы хотите отразить) должен дать желаемый результат, загрузив файлы в в каком бы каталоге вы ни находились, когда запускаете его:

wget -r -l1 -k -nH http://www.example.com

Варианты означают следующее:

  • -r: использовать рекурсивный поиск (переходить по ссылкам на другие файлы).
  • -l1: ограничить глубину рекурсии до 1 (переходить по ссылкам с URL-адреса, указанного в командной строке, но не из полученных таким образом файлов).
  • -k: переписать абсолютные ссылки в найденных файлах, чтобы они ссылались на загруженные версии, а не на версии, размещенные на зеркальной веб-странице.
  • -nH: не создавать каталоги для каждого имени хоста для загруженных файлов (в противном случае, если вы находитесь, например, в /home/example/mirror , все идет в /home/example/mirror/www.example.com).

В зависимости от того, как настроен целевой сайт, вам может потребоваться выполнить дополнительную проверку извлеченных файлов (например, файлы с расширением .php вероятно, не будут корректно отображаться при открытии с вашего диска, поскольку нет сервера, предоставляющего Content-Type заголовок, чтобы сообщить браузеру, что они содержат HTML). Это должно послужить довольно солидным началом.

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