2012-10-29 96 views
1

I want to extract links from html, using jsoupJsoup解析链接<a href="www.abc.com">

Expected output: absolute link.

I use "abs:href" for that.

This works:

Jsoup.parse("<a \n\r\t href=\"http://www.ibm.com/123/?id=abc\">\nhaha</a>", "http://www.ibm.com"); 

delivers: http://www.ibm.com/123/?id=abc

这并不工作:

Jsoup.parse("<a \n\r\t href=\"www.ibm.com/123/?id=abc\">\nhaha</a>", "http://www.ibm.com"); 

提供:http://www.ibm.com/www.ibm.com/123/?id=abc

我知道它有点很难知道是否 “www.ibm.com” 是一个绝对或相对链接。它可能是顶级域名,也可能是文件夹名称。任何已经证明的解就在这个黑客进入我的脑海:

String domain = url.replace("http://", ""); 
url.replace(domain + domain, domain); 

回答

0

你的第二个例子是一个明确的相对URL。根据定义,绝对URL始于协议(例如http或https)。所有浏览器都会为您的示例提供相同的输出。

您能否提供您正在使用的示例网址?为什么它有这些伪绝对URL?