wget具有-np
禁止从任何父目录获取文件的选项。我需要类似的东西,但要灵活一些。考虑:
www.foo.com/bar1/bar2/bar3/index.html
我想得到所有东西,但不是(在树层次结构中)比bar2
(!)“更高” 。因此bar2
也应该获取而不是获取bar1
。
有没有办法使wget更具选择性?
背景:我正在尝试镜像具有类似逻辑结构的网站-起点,然后是向上,然后是向下。如果除之外还有其他工具wget
更适合此类布局,请也告诉我。
或者,而不是指定可能的深度,例如“没有父母,除非他们匹配此URL”。
服务器上有一些结构,对吗?您可以将其可视化为树。因此,通常使用“ --no-parent”,您会从A点开始,然后一直下降。
我的愿望是向上的能力-可以说,允许向上X个节点,或者(相当于100%)允许向上B个节点(距离BA = X)。
在所有情况下,下降规则都由用户定义(例如,仅下降Y级)。
怎么存放呢?实际上,这并不是真正的问题-wget
默认情况下会重新创建服务器结构,这里没有什么可担心的,或者不需要修复任何内容。因此,与往常一样,用2个字表示。
下面的目录结构-假设每个目录中R-R.html等只有一个文件。当然,这可以简化,因为您可以拥有多个页面。
R
/ \
B G
/ \
C F
/ \
A D
/
E
A(A.html)是我的起点,X = 2(所以B是我想获取的最顶层节点)。在此特定示例中,这意味着获取除R.html和G.html之外的所有页面。A.html被称为“起点”,因为我必须从它而不是从B开始。
从更新3开始使用命名。
wget选项www.foo.com/B/C/A/A.html
问题是从目录B及其以下获取所有页面的选项是什么(知道您必须从A.html开始)。
我没有尝试过,但是使用-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.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句