1

Webページをダウンロードし、Webページで画像を解析し、Webサイトに表示されている順序を表示するJavaプログラムがあります。私が必要としているのは、プログラムが各画像のファイルサイズも表示することです。

現在の私のコード:

public static void main(String[] args) throws IOException {

    String url = "http://127.0.0.1";   //Url of webpage
    print("Fetching %s...", url);      //output fetching

    Document doc = Jsoup.connect(url).get(); //getting the document

    Elements media = doc.select("[src]"); //parsing the page for images

    print("\nMedia: (%d)", media.size());
    for (Element src : media) {
        print(" * %s: <%s>", src.tagName(), src.attr("abs:src"));

    }

}

Atmこれは次のように表示されます:

<img href="cat.jpg" />
<img href="dog.jpg" />
<img href="horse.jpg" />

出力をこのようにする方法はありますか?

<img href="cat.jpg" /> ---> 54kb
<img href="dog.jpg" /> ---> 74kb
<img href="horse.jpg" /> ---> 102kb

現在jsoupを使用しているPsimに感謝しますが、それが必要な場合は別のライブラリを使用してもかまいません

4

1 に答える 1

2

URLこれにはクラスを使用できます。

for( Element element : media )
{
    final String src = element.absUrl("src");

    if( src.toLowerCase().endsWith(".jpg") ) // only needed if you want to check only jpegs
    {
        final URL url = new URL(src);
        final long size = url.openConnection().getContentLength();

        System.out.println(element + " ---> " + size + " byte");
    }
}

しかし、これはサイズをByteでしか表示しません!

読みやすくするために...

于 2013-02-10T13:37:52.050 に答える