解析html页面上的相对链接

时间:2013-02-20 23:11:46

标签: html parsing


我正在尝试解析页面以查找所有有效的URL,但这是一个问题。页面上有3种类型的链接:url(_http://site.com/dir/page.html),绝对uri(/dir/page.html)和相对uri(dir / page.html没有开始斜杠) 。可能我对术语不对,我不是一个HTML编码器。但事实并非如此。

我需要找到并收集所有网址(即_http://site.com/dir/subdir/page.html等)。这就是问题所在。如果有一个页面_http://site.com/dir/page.html,其链接类似于< a href =“subdir / page.html”> link< / a>它应该把我们带到_http://site.com/dir/subdir/page.html。但如果有< base href =“/”>在页面的head部分,相同的链接指向_http://site.com/subdir/page.html,即与_http://site.com/dir/subdir/page.html不同。

问题是页面上的html代码中是否还有其他可以影响目标URL的内容 提前谢谢。

2 个答案:

答案 0 :(得分:0)

在HTML中,你提到的href基础旁边没有别的东西

什么可能变得棘手,应该考虑的是脚本执行可能会在页面上建立链接,所以像window.location.href = something。如果明确说明链接,这将很容易,但它们也可能由脚本计算,然后您可能会错过链接或使用简单的解析错误地读取它。

答案 1 :(得分:0)

您的问题实际上是如何在HTML中进行网址链接,请阅读:http://www.webdevelopersnotes.com/design/relative_and_absolute_urls.php3。所以说你在/ admin /你需要/admin/login.aspx。我的相对URL是login.aspx,而我的绝对是/admin/login.aspx有意义吗?

所以基本上我所说的是考虑你的链接服务的目录。这将决定要使用的URL链接的类型和内容。

除此之外,如上所述,jscript和服务器端代码也可以进行链接。