JSoup - abs:href 獲取的絕對地址為空問題


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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM