wget 은 -np
부모 디렉토리에서 파일을 가져 오지 못하게하는 옵션 이 있습니다. 비슷하지만 조금 더 유연한 것이 필요합니다. 치다:
www.foo.com/bar1/bar2/bar3/index.html
bar2
(!) 보다 "높은"(트리 계층 구조)이 아닌 모든 것을 얻고 싶습니다 . 따라서 bar2
가져와야하지만 가져 오지 않아야 bar1
합니다.
wget을 더 선택적으로 만드는 방법이 있습니까?
배경 : 비슷한 논리 구조로 시작 지점, 위, 아래로 웹 사이트를 미러링하려고합니다. 이외의 도구가있는 경우 해당 wget
레이아웃에 더 적합하면 알려 주시기 바랍니다.
최신 정보
또는 가능한 깊이를 지정하는 대신 "이것이나 해당 URL과 일치하지 않는 한 부모 없음"과 같은 것일 수 있습니다.
업데이트 2
서버에 어떤 구조가 있습니까? 트리로 시각화 할 수 있습니다. 따라서 일반적으로 "-부모 없음"을 사용하면 A 지점에서 시작하여 내려갑니다.
내 소원은 올라갈 수있는 능력입니다 .X 노드까지 올라갈 수 있거나 B 노드 (거리 BA = X)까지 올라갈 수 있습니다 (100 % 동등).
모든 경우에 내려 가기 규칙은 사용자가 정의한대로 유지됩니다 (예 : Y 수준 만 내려 가기).
보관하는 방법? 실제로 문제는 아닙니다. wget
기본적으로 서버 구조를 재생성하거나, 여기에 두려워 할 것이 없거나, 아무것도 고칠 필요가 없습니다. 평소와 같이 2 단어로 말입니다.
업데이트 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
살 것인가? 원하지 않는 두 개 이상의 디렉토리에 동일한 이름의 하위 디렉토리가있는 경우 해당 컨텐츠를 병합해야합니까? 빌어 먹을 사이트 전체를 가져온 다음 원하는대로 물건을 가지 치기 / 옮기는 것이 거의 쉽습니다.