2015-08-10 3 views
0

Я работаю на this link извлечь ЦСИ истукана вJsoup извлечь многоканальные источники изображений

Я попробовал этот код и он извлекается все изображения со своими метками

Document doc = Jsoup.connect("http://deals.souq.com/sa-ar/?id_tag=48").get(); 
System.out.println(doc.select("div.padt-10 img") 

Теперь я хочу, чтобы извлечь изображения только с их ЦСИ, Я попытался использовать следующий код, но он извлек источник только первого изображения.

System.out.println(doc.select("div.padt-10 img").attr("src") 

ответ

1

Ответ можно найти в исходном коде. Этот doc.select("div.padt-10 img") возвращает Elements. Реализация attr в Elements это

public String attr(String attributeKey) { 
    for (Element element : contents) { 
     if (element.hasAttr(attributeKey)) 
      return element.attr(attributeKey); 
    } 
    return ""; 
} 

Как вы можете видеть, это будет возвращать сразу после первого действительного матча. Если вы хотите, чтобы все ссылки вы могли использовать

Document doc = Jsoup.connect("http://deals.souq.com/sa-ar/?id_tag=48").get(); 
Elements imgs = doc.select("div.padt-10 img"); 
for(Element im : imgs) 
    System.out.println(im.attr("src")); 
+0

Возможно ли без петли? – JavaFan

+0

К сожалению, нет. – alkis