2010-06-21 114 views
1

我正在编写一个shell脚本来下载和显示网站中的内容,并将此内容保存到本地文件系统。如何在wget中将相对URL更改为绝对URL

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

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

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

问题是,我能够获取内容(图像/ CSS)作为一个HTML页面,但在这个HTML的图像和标题,这是指向不同的网站链接不工作,路径URL(图片链接)正在变为我的本地文件系统路径。

我试着在wget中添加-k选项,并且使用这个选项,这些URL指向正确的位置,但是现在由于图像路径从相对位置改变到绝对位置,所以图像不会出现。没有-k图像正常。

请告诉我可以使用什么选项,以便图像和页面中的链接都能正常使用。我需要使用两个独立的wget命令,一个用于图像,另一个用于页面中的链接?

回答

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,因为我认为这是错误的(也许一个页面依赖性在父目录)。