【问题标题】:Displaying Image File Sizes with jsoup and jquery使用 jsoup 和 jquery 显示图像文件大小
【发布时间】:2013-01-25 16:17:08
【问题描述】:

我有一个 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

谢谢 P.s 我目前正在使用 jsoup,但是如果需要,我不介意使用另一个库

【问题讨论】:

    标签: java jquery html image jsoup


    【解决方案1】:

    您可以为此使用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");
        }
    }
    

    但这只会以字节为单位显示大小!

    为了更好的可读性,您可以...

    【讨论】:

    • 需要关闭url连接吗?我猜不是。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2013-10-13
    • 1970-01-01
    • 2018-05-13
    相关资源
    最近更新 更多