我正在尝试制作一个网站的镜像,但URL包含多个路径,当以正常的
一个正确的静态镜像需要将这两个URLs下载为
我尝试通过运行
以下是我的命令:
这是我尝试过的一个解决方法的示例:
在上面的示例中,指向
wget
方式将其复制到磁盘文件中时,这些路径会重叠。问题表现为URLs如http://example.com/news
和http://example.com/news/article1
。
wget
将这些URLs下载为/news
和/news/article1
,但这意味着同名的文件将被同名的文件夹覆盖。一个正确的静态镜像需要将这两个URLs下载为
/news/index.html
和/news/article1
。我尝试通过运行
wget
两次并相应地移动文件来解决此问题,但对我来说效果不佳。 /news
路径链接到需要转换的/news/article1
。我使用-k
选项转换链接,但如果我运行wget
两次,则不会在这些不相关的下载文件之间转换链接。以下是我的命令:
wget -p -r -l4 -k -d -nH http://example.com
这是我尝试过的一个解决方法的示例:
以下是我尝试过的解决方法:
# wget once at first level (gets /news path but not /news/*)
wget -p -r -l1 -k -nH http://example.com
# move /news file to temp path
mv news /tmp/news.html
# wget again to get everything else (notice the different level value)
wget -p -r -l4 -k -nH http://example.com
# move temp path back to /news/index.html
mv /tmp/news.html news/index.html
在上面的示例中,指向
/news/article1
的链接在/news
页面上未被转换。有人知道如何使用wget
解决这个问题吗?是否有其他工具可以更好地解决这个问题?
wget
可以重命名HTML文件并添加.html
扩展名。感谢您的帮助! - dayer4b