首页 > Web开发 > 详细

【Jsoup学习礼记】处理URLs

时间:2015-03-11 17:20:16      阅读:301      评论:0      收藏:0      [点我收藏+]

问题

你有一个包含相对URLs路径的HTML文档,需要将这些相对路径转换成绝对路径的URLs。

方法

  1. 在你解析文档时确保有指定base URI,然后
  2. 使用 abs: 属性前缀来取得包含base URI的绝对路径。代码如下: 
Document doc = Jsoup.connect("http://www.open-open.com").get();

Element link = doc.select("a").first();
String relHref = link.attr("href"); // == "/"
String absHref = link.attr("abs:href"); // "http://www.open-open.com/"

说明

在HTML元素中,URLs经常写成相对于文档位置的相对路径: <a href="/download">...</a>. 当你使用 Node.attr(String key) 方法来取得a元素的href属性时,它将直接返回在HTML源码中指定定的值。

假如你需要取得一个绝对路径,需要在属性名前加 abs: 前缀。这样就可以返回包含根路径的URL地址attr("abs:href")

因此,在解析HTML文档时,定义base URI非常重要。

如果你不想使用abs: 前缀,还有一个方法能够实现同样的功能 Node.absUrl(String key)

【Jsoup学习礼记】处理URLs

原文:http://blog.csdn.net/jyg694234697/article/details/44199829

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!