你有一个包含相对URLs路径的HTML文档,需要将这些相对路径转换成绝对路径的URLs。
base URI
,然后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相关文章,请看专栏:《使用JSOUP实现网络爬虫》
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/huxiweng/article/details/14521391
内容来源于网络,如有侵权,请联系作者删除!