jsoup 对 html 文档中链接处理的一个不错的功能

一个 html 文档中经常有很多链接,而这些链接可能包含主机地址,可能不包含,也可能是一个相对的地址,例如

<a href="http://www.oschina.net/p/jsoup">jsoup</a>
<a href="/p/jsoup">jsoup</a>
<a href="../jsoup">jsoup</a>

一般我们从 html 文档中解析出这些链接,最终还要转成第一种形式的链接地址,这个转链接的过程还挺复杂的,需要根据所解析的文档url地址来计算。

可如果使用 jsoup 的话,就非常简单了,jsoup 的 attr 方法提供了一个 abs: 的操作,请看下面的代码:
 

折叠 展开  Java 代码 复制内容到剪贴板
  1. URL url = new URL("http://www.ai-java.com/");   
  2. Document doc = Jsoup.parse(url, 3*1000);   
  3.   
  4. Element link = doc.select("a").first();   
  5. String relHref = link.attr("href"); // == "/"   
  6. String absHref = link.attr("abs:href"); // "http://www.ai-java.com/"  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值