我正在尝试从宽度和高度> 249的网址中获取图片
我尝试从此网址http://imgur.com/gallery/zwxxH8T
获取图片
'http://www.wallpaper.com/'从几个网址中获取图片,但为什么这不是从所有给定网址获取图片。
我正在使用以下代码
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);
}
}
答案 0 :(得分:1)
在给定的网址http://imgur.com/gallery/zwxxH8T中,没有<img>
包含宽度和高度属性。
因此width
和height
始终等于0,if ((width > 249) && (height > 249))
始终为false,未找到图像。
答案 1 :(得分:0)
如果您只想将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");
的示例