Проблема здесь заключается в том, что Amazon возвращает HTML-код в jsoup, отличный от вашего браузера, на основе запроса UserAgent.
Я установил UserAgent для известного браузера и выбрал элемент, используя#prodImage
ID, и получил результат ОК.
Например,
Document doc = Jsoup.connect("http://www.amazon.com/gp/product/B0051HDDO2?ie=UTF8&ref=mas_faad")
.timeout(20000)
.userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.91 Safari/534.30")
.get();
Element img = doc.select("#prodImage").first();
System.out.println(img.attr("src"));
Возвращает http://ecx.images-amazon.com/images/I/51u1FaI-FHL._SL500_AA300_.jpg
Чтобы устранить подобные проблемы, я предлагаю вывести doc.html()
и просмотр извлеченного, проанализированного HTML-кода, поскольку он может отличаться от HTML-кода источника просмотра вашего браузера (поскольку серверы могут возвращать другой HTML-код, а исходный код-представление показывает до того, как HTML был приведен в порядок и встроен в DOM).
Надеюсь, это поможет!