如何在wget中将相对URL更改为绝对URL

时间:2010-06-21 13:14:18

标签: unix shell

我正在编写一个shell脚本来下载和显示网站上的内容,我将这些内容保存到我的本地文件系统。

我在脚本中使用了以下命令来获取内容:

/usr/sfw/bin/wget -q -p  -nH -np --referer=$INFO_REF --timeout=300 -P $TMPDIR $INFO_URL

其中INFO_REF是我需要显示INFO_URL内容的页面。

问题是我能够将内容(images / css)作为html页面获取,但是在这个html中,指向不同站点的图像和标题上的链接不起作用,并且URL的路径(图像链接)正在更改为我的本地文件系统路径。

我尝试在wget中添加-k选项,并且使用此选项,这些URL指向正确的位置,但现在图像不会随着图像路径从相对位置变为绝对位置而来。如果没有-k图像正确显示。

请告诉我可以使用哪个选项,以便图片和页面中的链接都能正常显示。我是否需要使用两个单独的wget命令,一个用于图像,另一个用于页面中的链接?

1 个答案:

答案 0 :(得分:2)

根据wget手册:

  

实际上,要下载单页   及其所有必需品(即使他们   存在于不同的网站上),并制作   确保地段正确显示   在本地,这位作者喜欢使用   除了-p:

之外几个选项      

wget -E -H -k -K -p http://site/document

为了根据您的需要进行调整:

/usr/sfw/bin/wget -q -E -H -k -K -p -nH --referer=$INFO_REF --timeout=300 -P $TMPDIR $INFO_URL

我删除了-np,因为我认为这是错误的(可能是父目录中的页面依赖项)。