Независимо от других типов обработки ссылок часто бывает полезно установить ограничения на получаемые файлы на основе каталогов, в которых они расположены. Тому может быть много причин. Домашние страницы обычно организуются на уровне каталогов. Некоторые каталоги содержат бесполезную информацию, например "cgi-bin" или "/dev".
Wget предоставляет три опции для удовлетворения этих требований. Описание каждой опции приводит ее короткое имя, длинное имя и эквивалентную команду файла ".wgetrc".
Опция принимает разделенный запятыми СПИСОК каталогов, которые должны быть обработаны при выгрузке. Все остальные каталоги будут просто проигнорированы. Каталоги должны указываться как абсолютные.
Таким образом, если в хотите выгрузить данные с "http://host/people/bozo/", переходя только по ссылкам на коллег bozo в каталоге "/people", и глюковатые скрипты в "/cgi-bin", вы можете выполнить:
Данная опция полностью противоположна
"-I". Здесь СПИСОК - разделенный запятыми
перечень каталогов, которые должны быть исключены из выгрузки.
Например, если вы не хотите чтобы Wget выгружал данные из каталога
"/cgi-bin", то просто укажите "-X /cgi-bin
" в командной
строке.
Подобно опциям "-A" и "-R", эти
две опции могут быть использованы совместно для получения более точных
результатов работы. Например, если вы хотите выгрузить все файлы из
иерархии каталогов "/pub" за исключением каталога "/pub/worthless",
то укажите "-I/pub -X/pub/worthless
".
Простейший и наиболее часто используемый способ ограничения каталогов это запрет на обработку ссылок, которые указывают на иерархию находящуюся выше начального каталога, иными словами запрет на доступ к родительскому каталогу.
Опция "--no-parent" (сокращенно "-np") применима в этом случае. Ее использование гарантирует, что при выгрузке вы никогда не покинете существующую иерархию. Предположим, что вы запускаете Wget как:
То вы можете спокойно отдохнуть уверенными в том, что ни одна из ссылок на "/~his-girls-homepage/" или "/~luzer/all-my-mpegs/" не будет обработана, а будут выгружены только интересующие вас данные. В общем, опция "--no-parent" идентична "-I/~luzer/my-archive", за тем исключением, что она отрабатывает перенаправления более интеллектуальным образом.