我想在Java中构建Web爬网程序,并且我想知道是否有任何方法可以从给定基础的绝对路径获取相对路径网址。我试图在同一个域下的html中替换任何绝对路径。如何从Java中的绝对http路径获取相对路径
由于http urls包含不安全字符,因此我无法使用如在How to construct a relative path in Java from two absolute paths (or URLs)?中所述的Java URI。
我使用jsoup来解析我的html,它似乎能够从相对,而不是相反的方式获得绝对路径。
E.g. 在下面的HTML的特定HTML,
"http://www.example.com/mysite/base.html"
在base.html文件的网页源代码,它可以包含:
'<a href="http://www.example.com/myanothersite/new.html"> Another site of mine </a>
我想缓存此base.html文件,并对其进行编辑使其现在包含:
'<a href="../myanothersite/new.html">Another site of mine</a>
因此,你有“http://www.example.com/mysite/whatever”作为基础,并希望所有的网站开始与它相关?还是相对于什么? –
是的。基本上我想改变这个特定的html中的所有绝对URL,以使用该特定的HTML网址作为基础来成为相对的URL。 – Wee
请重温我对你想要的问题的猜测。 –