從部分 HTML 中提取完整的 URL

僅選擇連結的屬性值:href 將返回相對 URL。

   String bodyFragment = 
          "<div><a href=\"/documentation\">Stack Overflow Documentation</a></div>";

    Document doc = Jsoup.parseBodyFragment(bodyFragment);
    String link = doc
            .select("div > a")
            .first()
            .attr("href");
    
    System.out.println(link);

輸出

/documentation

通過將基 URI 傳遞給 parse 方法並使用該 absUrl 方法代替 attr ,我們可以提取完整的 URL。

    Document doc = Jsoup.parseBodyFragment(bodyFragment, "http://stackoverflow.com");
    
    String link = doc
                .select("div > a")
                .first()
                .absUrl("href");
    
    System.out.println(link);

輸出

http://stackoverflow.com/documentation