网站空间价格表,有什么有趣的网站,株洲人才网官网,免费网站建设教程我们在处理HTML内容时#xff0c;可能经常会遇到这种问题#xff0c;需要将html页面里面的链接地址从相对地址转换成绝对地址#xff0c;如何使用Jsoup来解决这个问题呢#xff1f;
方法 在你解析文档时确保有指定base URI#xff0c;然后 使用 abs: 属性前缀来取得包含b…我们在处理HTML内容时可能经常会遇到这种问题需要将html页面里面的链接地址从相对地址转换成绝对地址如何使用Jsoup来解决这个问题呢
方法 在你解析文档时确保有指定base URI然后 使用 abs: 属性前缀来取得包含base URI的绝对路径。
示例
Document doc Jsoup.connect(http://www.baidu.com/).get();Element link doc.select(a).first();
String relHref link.attr(href); // /
String absHref link.attr(abs:href);
// http://www.baidu.com/gaoji/preferences.html解说
在HTML元素中URLs经常写成相对于文档位置的相对路径 …. 当你使用 Node.attr(String key) 方法来取得a元素的href属性时它将直接返回在HTML源码中指定定的值。
假如你需要取得一个绝对路径需要在属性名前加 abs: 前缀。这样就可以返回包含根路径的URL地址attr(“abs:href”)
因此在解析HTML文档时定义base URI非常重要。如果你不想使用abs: 前缀还有一个方法能够实现同样的功能 Node.absUrl(String key)。