正如wget
手册页中所说:
要下载单个页面及其所有必需品(即使它们存在于不同的网站上),并确保该批次在本地正确显示,除了 -p 之外,作者还喜欢使用一些选项:
wget -E -H -k -K -p http://mysite.com/directory
我明白,如果我想完全下载 mysite,我必须添加-r
参数。但是同时使用-r
和-H
选项可以下载所有可从http://mysite.com/directory访问的网站。任何的想法?
小智 5
如果您想使用wget
,您可以使用镜像设置来制作网站的离线副本,尽管某些网站可能会通过停止自动爬行的 robots.txt 设置来阻止它。我总是遇到一些问题wget
(请参阅下面我的其他建议),但以下命令确实适用于许多站点。但是,请注意,添加-H
开关允许它访问其他站点上的所有链接并保存这些链接。如果不需要,这个命令开关显然可以删除。
wget --wait 1 -x -H -mk http://site.to.mirror/
Run Code Online (Sandbox Code Playgroud)
命令wait
允许wget's
请求之间存在一些间隙,以便站点不会不堪重负,-x
命令开关指定站点的目录结构应完全镜像到您的主文件夹中的文件夹中。该-m
开关显然代表镜像模式,允许wget
通过站点递归下载;并且-k
切换意味着下载后引用的文件将是主文件夹中镜像目录中的文件,而不是站点本身的文件。
之后man wget
,也许最好的wget
命令列表和详细解释在这里。
如果wget
不成功并且您无法获取所需的数量,我应该尝试使用存储库中提供的命令行程序httrack
或其 Web 界面webhttrack
。这个程序有很多选项,但下载整个网站或部分网站比下载更好wget
。Webhttrack
为您提供一个下载站点的向导(它会在您的浏览器中打开),如下面的屏幕截图所示。