使用 wget 镜像网站以及第一级外部网站的所有内容

使用 wget 镜像网站以及第一级外部网站的所有内容

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

我不知道该怎么做

wget -r --level=inf(或其他变体)将镜像该网站。

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

有谁知道我该如何将它们结合起来,以便获得整个主站点和一个深入外部站点的级别。我整个下午都在苦苦思索手册。

谢谢

答案1

不幸的是,这在 wget 中是不可能的(并且尝试用 wget 解决这个问题并-H -l 1没有达到你的预期)。你想要的是HT轨道

httrack --ext-depth=1 http://example.com

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

答案2

我会使用组合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 选项,因为这样可以下载很多文件……

相关内容