В wget есть такая опция, -np
которая отключает получение файлов из любого родительского каталога. Мне нужно что-то похожее, но немного более гибкое. Рассматривать:
www.foo.com/bar1/bar2/bar3/index.html
Я хотел бы получить все, но не «выше» (в древовидной иерархии), чем bar2
(!). Так bar2
что тоже надо извлекать но не надо bar1
.
Есть ли способ сделать wget более избирательным?
Предыстория: я пытаюсь отразить веб-сайт с похожей логической структурой - отправная точка, затем вверх, затем вниз. Если есть другой инструмент wget
, который лучше подходит для такого макета, пожалуйста, дайте мне знать.
Обновить
Или вместо указания возможной глубины, может быть что-то вроде «нет родителей, если они не соответствуют тому или иному URL».
Обновление 2
На сервере есть какая-то структура, верно? Вы можете визуализировать это как дерево. Поэтому обычно с "--no-parent" вы начинаете с некоторой точки A и идете только вниз.
Мое желание - это способность идти вверх - выражается, говоря, что ему разрешено идти вверх по X узлам или (что эквивалентно 100%), что ему разрешено подниматься до узла B (где расстояние BA = X).
Во всех случаях правила для снижения остаются такими, как были определены пользователями (для примеров - понижаются только по уровням Y).
Как хранить это? На самом деле это не вопрос на самом деле - wget
по умолчанию воссоздает структуру сервера, здесь нечего бояться или нет необходимости что-либо исправлять. Итак, в двух словах - как обычно.
Обновление 3
Структура каталогов ниже - давайте предположим, что в каждом каталоге есть только один файл, в R - R.html и так далее. Это, конечно, упрощено, потому что вы можете иметь более одной страницы.
R
/ \
B G
/ \
C F
/ \
A D
/
E
A (A.html) - моя отправная точка, X = 2 (поэтому B - самый верхний узел уровня, который я хотел бы получить). В этом конкретном примере это означает выборку всех страниц, кроме R.html и G.html. A.html называется «отправной точкой», потому что я должен начать с нее, а не с B.
Обновление 4
Именование используется из Обновления 3.
ВАЖНЫЕ ВАРИАНТЫ www.foo.com/B/C/A/A.html
Вопрос в том, какие есть варианты получить все страницы из каталога B и ниже (зная, что вам нужно начинать с A.html).
bar2
каталог и все его содержимое. Если это не так, пожалуйста, уточните.
bar2
но нетbar1
? Гдеbar2
будет жить? Что, если у двух или более папок, которые вы не хотите, есть поддиректории с одинаковыми именами, их содержимое должно быть объединено? Почти наверняка проще просто взять весь этот чертов сайт и затем обрезать / переместить вещи по своему желанию.