0

URLから画像を解析しようとしています。正常に動作しています。しかし、画像の高さと幅も取得したいです。だから、私は使用しようとしていますBufferedImage

しかし、画像と何らかの関連を作ろうとすると、画像がスキップされ始めます。なぜこれが起こっているのかわかりませんが、ループが大きな画像をスキップすることを強制している可能性があります。

コード - >

public Vector getimages(Document doc) {
    Vector images = new Vector(50, 50);
    Elements png = doc.select("img");

    try {

        BufferedImage readImage_img = null;
        for(Element pngs : png) {
           if(!images.contains(new String(pngs.attr("abs:src")))) {
             //InputStream is = new URL(pngs.attr("abs:src")).openStream();

             //readImage_img = ImageIO.read(is);
             //int img_h = readImage_img.getHeight();
             //int img_w = readImage_img.getWidth();
             //if(img_h>50 && img_w>50)
             //{
             images.addElement(new String(pngs.attr("abs:src")));
             //}
           } 
        }

    } catch (Exception ex) {
    }
    return images;
}

しかし、inputstream または buffer のコメントを外すと、主に大きな画像がスキップされます。

4

1 に答える 1

0

HTTP 403 エラーは禁止を意味します。これは、URL が間違っているか、二重にエンコードされているか、または正しいが他の何かが間違っていることを意味する可能性があります。User-Agentプログラムが Web ブラウザーであるかのように見せるには、おそらく HTTP ヘッダーを設定する必要があります。

于 2013-11-10T09:00:21.580 に答える