38

リンクの絶対URLを取得できるように、jsoupに画像の絶対URLを抽出する方法はありますか?

にある次の画像要素について考えてみましょう。http://www.example.com/

<img src="images/chicken.jpg" width="60px" height="80px">

頂きたいですhttp://www.example.com/images/chicken.jpg。私は何をすべきか?

4

4 に答える 4

73

画像要素を取得したら、例:

Element image = document.select("img").first();
String url = image.absUrl("src");
// url = http://www.example.com/images/chicken.jpg

または:

String url = image.attr("abs:src");

Jsoupには、すべてのノードに組み込みのabsUrl()メソッドがあり、ノードのベースURL(ドキュメントの取得元のURLとは異なる場合があります)を使用して、属性を絶対URLに解決します。

URLの操作jsoupのドキュメントも参照してください。

于 2011-02-02T21:06:41.957 に答える
12
Document doc = Jsoup.connect("www.abc.com").get();
Elements img = doc.getElementsByTag("img");
for (Element el : img) {
    String src = el.absUrl("src");
    System.out.println("Image Found!");
    System.out.println("src attribute is : "+src);
    getImages(src);
}
于 2013-08-07T11:12:28.973 に答える
2

を解析しているとしましょうhttp://www.example.com/index.html

jsoup を使用して img src を抽出すると、次のようになります。images/chicken.jpg

次に、 URIクラスを使用して、これを絶対パスに解決できます。

URL url  = new URL("http://www.example.com/index.html");
URI uri = url.toURI();
System.out.println(uri.resolve("images/chicken.jpg").toString());

版画

http://www.example.com/images/chicken.jpg
于 2011-02-02T13:42:11.957 に答える