[英]InputStream, BufferedImage missing images
我正在嘗試從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;
}
但是,如果取消注釋輸入流或緩沖區,它將跳過主要是大圖像。
HTTP 403錯誤表示禁止。 這可能意味着URL錯誤,雙重編碼或正確,但其他錯誤。 您可能需要設置User-Agent
HTTP標頭,以假裝您的程序是Web瀏覽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.