Исключить каталоги из wget для создания карты сайта - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь использовать сценарий оболочки для очистки веб-сайта, чтобы получить список всех страниц. Я нашел сценарий оболочки «Написано Эльмаром Ханлхофером https://www.plop.at», и он работает хорошо. Однако мне нужно исключить каталоги, а документация у меня не работает.

# Example, exclude files from /print and /slide: 
# files=$(find | grep -i html | grep -v "$SITE/print" | grep -v "$SITE/slide")

Мне нужно исключить установку форума, расположенную в / support (и все дочерние каталоги), поэтому я изменяю код, чтобы :

files=$(find | grep -i html | grep -v "$SITE/support")

Однако он все еще сканирует / support / directory / directory / et c. Как изменить команду grep для исключения / поддержки И ВСЕХ ДЕТСКИХ СПРАВОЧНИКОВ?

Я новичок в командах linux / unix, поэтому, возможно, я неправильно это выражаю. Спасибо.

1 Ответ

1 голос
/ 05 мая 2020

Исходный скрипт загрузит весь сайт, запустите find, чтобы отфильтровать нежелательный контент.

Раздел, связанный с wget, скопирован ниже,

wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --convert-links \
     --restrict-file-names=windows \
     --no-parent \
     --directory-prefix="$TMP" \
     --domains $DOMAIN \
     --user-agent="$AGENT" \
     $URL >& $WGET_LOG

Исключить support каталог, добавьте параметр --exclude-directories,

wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --convert-links \
     --restrict-file-names=windows \
     --no-parent \
     --directory-prefix="$TMP" \
     --domains $DOMAIN \
     --user-agent="$AGENT" \
     --exclude-directories=/support \ 
     $URL >& $WGET_LOG

Прочтите этот ответ , если вы хотите иметь больший контроль над каталогами.

...