wgetが親ディレクトリから指定された深さまでファイルを取得しないように無効にする方法はありますか?

wgetが親ディレクトリから指定された深さまでファイルを取得しないように無効にする方法はありますか?

得る-np親ディレクトリからファイルをインポートすることを無効にするオプションがあります。似ていますが、より柔軟なものが必要です。考慮する:

www.foo.com/bar1/bar2/bar3/index.html

私はすべてを取得したいのですがbar2(!)「より高い」(ツリー階層で)以上を得ることはできません。だからbar2それも持って来る必要がありますが、そうではありませんbar1

wgetをもう少し選択的にする方法はありますか?

背景:私は同様の論理構造(始点、上、下)を持つWebサイトをミラーリングしたいと思います。このレイアウトに適した他のツールがある場合はwgetお知らせください。

修正する

または、可能なアップ深度を指定しない場合は、「この URL またはその URL と一致しない限り、親エントリがない可能性があります」。

アップデート2

サーバーにはいくつかの構造があります。そうですか?木のように考えてください。したがって、通常「--no-parent」を使用すると、A 点から始まり、下に下がります。

私の願いは上に上がることができます。 X ノードを許可するか (100% 同じ) ノード B (距離 BA = X) まで許可するように表現されます。

すべての場合において、下降ルールはカスタム状態のままになります(たとえば、Yレベルにのみ下降)。

どのように保存しますか?実際、これは実際には問題ではありません。wgetサーバー構造はデフォルトで再生成されるため、ここでは恐れたり修正したりすることはありません。したがって、2つの言葉で言うと、いつものようになります。

アップデート3

次のディレクトリ構造 - 各ディレクトリにR - R.htmlなどのファイルが1つしかないとします。もちろん、複数のページを持つことができるので簡単です。

        R 
       / \
      B   G
     / \
    C   F
   / \
  A   D
 /
E 

A(A.html)は始点であり、X = 2です(したがって、Bは私が得たい最上位ノードです)。この特定の例では、R.htmlとG.htmlを除くすべてのページをインポートすることを意味します。 A.htmlは「開始点」と呼ばれます。〜しなければならないBではなくBから始めてください。

アップデート4

アップデート3以降、命名が使用されます。

wget オプション www.foo.com/B/C/A/A.html

問題は、ディレクトリB以下からすべてのページを取得するオプションが何であるかです(A.htmlから始める必要があることがわかります)。

ベストアンサー1

まだ試していませんが、-Iと-Xを使用すると、目的の結果が得られます。私の最初の試みは次のようになりました。

wget -m -I bar1/bar2 -X "*" http://www.foo.com/bar1/bar2/bar3/index.html

オプションの説明:

-m: 
   --mirror
       Turn on options suitable for mirroring.  This option turns on recursion and time-stamping, sets
       infinite recursion depth and keeps FTP directory listings.  It is currently equivalent to -r -N -l
       inf --no-remove-listing.
-I: list
   --include-directories=list
       Specify a comma-separated list of directories you wish to follow when downloading.  Elements of
       list may contain wildcards.
-X: list
   --exclude-directories=list
       Specify a comma-separated list of directories you wish to exclude from download.  Elements of list
       may contain wildcards.

おすすめ記事