从部分 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