我正在使用JSOUP从给定的URL中提取一些信息。我的目标是获得具有最小宽度W和最小高度H的所有图像URL。
问题是很多网站只使用src
但没有height
和width
属性。因此,我找到的唯一解决方案是使用BufferedImage
来获取图像的图像高度和宽度,但我认为如果您拥有大量图像,这不是一个好选择
是否有其他方法可以在不先创建图像的情况下获取图像高度和宽度。
答案 0 :(得分:3)
试试这个:
String location = "http://www.sxc.hu/pic/l/f/fa/fangol/1301370_97011830.jpg";
InputStream stream = new URL(location).openStream();
Object obj = ImageIO.createImageInputStream(stream);
ImageReader reader = ImageIO.getImageReaders(obj).next();
System.out.println(next.getWidth(0));
stream.close();
这在每个jdk读取宽度和高度方面都是高效的。
答案 1 :(得分:0)
(我迟到了,但无论如何)如果您使用过JSOUP,那么您可以使用JSOUP进行测量。所以,请说以下列方式获取它:
这是你的JSOUP抓取器(你决定如何创建它):
Document document=Jsoup.connect(your_url).get();
Elements elements=document.select("img[src]");
int length=elements.size();
然后使用它来达到高度:
for(int i=0;i<length;i++){
String height=elements.get(i).attr("height");
System.out.println(height);
}