wget recursive / mirror опция не переходит по ссылкам - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь отразить сайт в данный момент.wget, кажется, выполняет эту работу очень хорошо, однако на некоторых страницах она не работает.

Если посмотреть руководство , команда

wget -r https://www.gnu.org/

должна загрузитьСтраница GNU.И это действительно так.Однако, если я использую другую страницу, например начальную страницу моего личного сайта , это больше не работает.

wget -r https://jlnostr.de

index.html загружается, но ни одна изCSS / JS не говоря уже о рекурсивной загрузке.Все, что загружается, это index.html.

Я пытался настроить User-Agent с помощью опции -U, но это тоже не помогло. Отсутствует ли опция, из-за которой wget останавливается после index.html?

ОБНОВЛЕНИЕ: Я также попробовал опцию --mirror, которая также не работает и показываеттакое же поведение.

1 Ответ

0 голосов
/ 20 февраля 2019

Ваш веб-сайт использует относительно менее известную форму управления роботами через тег <meta> в HTML.Вы можете прочитать больше об этом здесь .Wget будет правильно придерживаться инструкций этой директивы роботов.Это может произойти, если вы немного посмотрите на выходные данные отладки Wget при попытке рекурсивно загрузить веб-сайт:

no-follow в jlnostr.de/index.html: 1 * 1007.*

Теперь, к сожалению, это не очень полезное сообщение, если вы не являетесь одним из разработчиков и не знаете кодовую базу.Я постараюсь обновить сообщение, чтобы в этом случае было что-то более понятное.Точно так же, как мы делаем, когда такие вещи происходят из-за файла robots.txt.

В любом случае, это просто, отключите синтаксический анализ роботов.Хотя это нормально при доступе к вашему собственному веб-сайту, будьте внимательны к веб-серверам, когда делаете это с другими.Вам нужна полная команда:

$ wget -r -erobots=off https://jlnostr.de

РЕДАКТИРОВАТЬ: Как и было обещано, добавлено улучшенное сообщение.Смотрите здесь .Теперь он печатает:

атрибут no-follow, найденный в jlnostr.de/index.html.Не будет переходить по ссылкам на этой странице

...