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.
wget ВАРІАНТИ www.foo.com/B/C/A/A.html
Питання полягає в тому, які варіанти отримати всі сторінки з каталогу B і нижче (знаючи, що ви повинні почати з A.html).
bar2
каталог і весь його вміст. Якщо це не так, уточнюйте, будь ласка.
bar2
отримати, але ніbar1
? Деbar2
збирається проживати? Що робити, якщо два або більше dir, які ви не хочете, мають однакові підкаталоги, слід об'єднати їх вміст? Майже напевно простіше просто дістати цілий проклятий сайт, а потім обрізати / перемістити речі за бажанням.