Jsoup を使用して相対 HTML リンクから絶対 URL を抽出する方法は? 質問する

Jsoup を使用して相対 HTML リンクから絶対 URL を抽出する方法は? 質問する

使っていますジェイスープウェブページの URL を抽出します。hrefこれらの URL の属性は次のように相対的です。

<a href="/text">example</a>

これが私の試みです:

Document document = Jsoup.connect(url).get();
Elements results = document.select("div.results");
Elements dls = results.select("dl");
for (Element dl : dls) {
    String url = dl.select("a").attr("href");
}

これは問題なく動作しますが、

String url = dl.select("a").attr("abs:href");

のような絶対 URL を取得したいのですがhttp://example.com/text、機能しません。どうすれば絶対 URL を取得できますか?

ベストアンサー1

必要なのはElement#absUrl()

String url = dl.select("a").absUrl("href");

ちなみに、選択部分を短くすることもできます:

Document document = Jsoup.connect(url).get();
Elements links = document.select("div.results dl a");
for (Element link : links) {
    String url = link.absUrl("href");
}

おすすめ記事