wget –spider: как определить, где неработающие ссылки происходят из

Я использую встроенный в spider режим wget для удобства, чтобы быстро проверить местный сайт на наличие неработающих ссылок. Сегодня утром я обратил внимание на производственный сайт, на который мы только что вносили серьезные изменения, и на нем появляются 3 сломанные ссылки, но, похоже, невозможно сказать, где они! (Он только говорит, к чему они привязаны, и нет простого способа связать это только со страницей.)

Параметры, которые я сейчас использую, – wget -r -nv --spider http://www.domain.com/ -o /path/to/log.txt . Кто-нибудь знает опцию, которую я пропускаю, способ прочитать результат или даже просто заменить эту команду, которая также позволит мне узнать, в каком файле появляются ссылки (и в идеале строка #)?

2 Solutions collect form web for “wget –spider: как определить, где неработающие ссылки происходят из”

Вы должны иметь возможность просматривать журналы веб-сервера в сочетании с запуском wget. Найдите 404 в журнале и потяните поле referrer . Это скажет вам страницу, содержащую неработающую ссылку.

Затем следует просто рассмотреть эту страницу для ссылки на нарушение.

Хороший способ (не связанный с журналами веб-сервера) заключается в использовании флага --debug и grep для ^Referer:

В командной строке:

 wget -r -nv --spider http://www.domain.com/ 2>&1 | egrep -A 1 '(^---response end---$|^--[0-9]{4}-[0-9]{2}-[0-9]{2}|^[0-9]{4}-[0-9]{2}-[0-9]{2} ERROR|^Referer:|^Remote file does not)' 

Вы можете сделать подобное grepping в своем журнале. Caveat: некоторые wget не скомпилированы с поддержкой --debug

  • Использование sed для добавления URL-адреса в начало каждой строки
  • Как отобразить все URL-адреса в цепочке перенаправления?
  • wget не загружает файлы рекурсивно
  • Рекурсивный wget в конечном итоге начинает работать с ошибкой «Невозможно разрешить хост» / «Временный сбой при разрешении имен»
  • Проблема при запуске wget внутри скрипта bash с URL-адресом, хранящимся в переменной
  • генерировать ссылки страниц с добавочной переменной
  • Разница между «ping» и «wget» в отношении разрешения имени хоста
  • Загрузите сайт HTTPS только через имя пользователя и пароль с помощью wget?
  • загрузить несколько файлов из sourceforge
  • Продолжить загрузку, если временная метка не изменилась
  • загрузка изображений с веб-страницы с различными ссылками
  • Linux и Unix - лучшая ОС в мире.