码迷,mamicode.com
首页 > Web开发 > 详细

JSoup - abs:href 获取的绝对地址为空问题

时间:2020-04-22 20:19:26      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:splay   isp   reac   相对   foreach   绝对路径   lan   attr   eval   

Summary

  • 在获取 a 标签中的 href 值得时候,发现可以获取到相对地址,但是使用 abs:href 的是返回结果是空的。
  • 查看文档发现,Jsoup.parse 的第二个参数可以传入 baseURL,我们在这里获取即可。

Demo

  • Scala 代码
val urlList = Jsoup.parse(html,"https://www.jianshu.com/").getElementsByAttributeValue("target","_blank").select(".title")
println(urlList)
println(htmlPage.getBaseURL)
urlList.forEach(
  // Element:
  x => {
    println(x.absUrl("href"))
    println(x.absUrl("abs:href"))
  }
)
  • Scala 代码
def getContentUrls: List[URL] = {
  val listBuffer = new ListBuffer[URL]
  val urlList = Jsoup.parse(html).select("""a[href~=.*?.html]""")
  urlList.foreach(x => {
    val url =  new URL (x.attr("abs:href"))   // 获取元素A Element 的绝对路径信息
    logger.info("获取URL的绝对路径信息: " + url)
    listBuffer += url
  })
  listBuffer.toList
}

JSoup - abs:href 获取的绝对地址为空问题

标签:splay   isp   reac   相对   foreach   绝对路径   lan   attr   eval   

原文地址:https://www.cnblogs.com/duchaoqun/p/12755008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!