使用 wget 从外部站点的第一级镜像网站和所有内容

5 linux wget mirroring

我需要镜像特定网站(该特定域下的所有页面)该网站链接到的任何页面(但不是整个网站)。

我对如何做到这一点感到困惑

wget -r --level=inf (或其他一些变体)将镜像站点。

wget -r -H --level=1 将获得所有链接(来自所有域)到第一级。

任何人都对我如何组合这些有任何想法,以获取整个主站点和深入外部站点的一层。我整个下午都在用头撞着手册。

谢谢

p.v*_*zli 6

我会使用组合wget -m -k -K -p http://example.com && wget -r -k -K -H -N -l 1 http://example.com

关于两个命令:wget -m -k -K -p http://example.com将镜像(-m = -r --level=inf -N)它,将链接转换到本地镜像(-k),在转换之前备份原始文件(-K)并下载正确查看镜像的所有先决条件 (-p)。

之后,第二个命令wget -r -k -K -H -N -l 1 http://example.com将执行基本相同的操作,但仅适用于跨越所有主机的一级,并且它将使用 -N 检查时间戳,因此您不会再次下载相同的文件。我在这里没有包含 -p 选项,因为它可以下载很多东西......


小智 6

不幸的是,这对 wget 来说是不可能的(并且尝试解决这个问题-H -l 1并没有达到您的预期)。你想要的是HTTrack

httrack --ext-depth=1 http://example.com
Run Code Online (Sandbox Code Playgroud)

这也可以缩写为httrack %e1 http://example.com。请注意,HTTrack 从 1 开始计数级别,而不是 0,因此除非您增加深度,否则它不会跟踪在外部页面上找到的链接。