我正在尝试从url获取图像,其宽度和高度大于249我尝试从这个url获取图像http://imgur.com/gallery/zwxxH8T 'http://www.wallpaper.com/‘从一些url它正在获取图像,但为什么这不是从所有给定的url获取图像。
我正在使用下面的代码
public static void main(String[] args) {
try {
String path = "http://imgur.com/gallery/zwxxH8T";
System.out.println("Fetching %s..." + path);
try {
URL url = new URL(path);
} catch (MalformedURLException e) {
System.out.println("MalformedURLException");
}
Document doc = Jsoup.connect(path).timeout(5000).get();
Elements media = doc.select("[src]");
int width = 0;
int height = 0;
for (Element src : media) {
if (src.tagName().equals("img")) {
try {
width = Integer.parseInt(src.attr("width"));
height = Integer.parseInt(src.attr("height"));
} catch (NumberFormatException ex) {
}
if ((width > 249) && (height > 249)) {
System.out.println("Path: " + src.attr("abs:src")
+ "\n wd " + src.attr("width") + " hi " + src.attr("height"));
}
}
}
} catch (org.jsoup.UnsupportedMimeTypeException e) {
System.out.println("Exception " + e);
} catch (IOException e) {
System.out.println("Exception " + e);
}
}发布于 2014-10-08 17:46:03
在给定的http://imgur.com/gallery/zwxxH8T中,没有<img>包含宽度和高度属性。
因此width和height总是等于0,if ((width > 249) && (height > 249))总是false,找不到任何图像。
发布于 2014-10-10 06:41:31
如果你只想得到主图像的src,而不是寻找一个特定的大小(假设他们没有设置一个),你可以做一个像div.image img这样的CSS。这将查找与其主映像匹配的<div class="image"><img ...>。
你也不需要所有的循环代码。
Document doc = Jsoup.get(url).timeout(t).get();
Element image = doc.select("div.image img").first();
String source = image.attr("abs:src");https://stackoverflow.com/questions/26253617
复制相似问题