android - Вопрос по парсингу сайта с использованием JSOUP


0

Только начал разбираться с парсингом сайтов с использование jsoup и застрял на этом:

введите сюда описание изображения

Хочу вытянуть текст под атрибутом alt и ссылку (src). Пытался добраться таким образом, но безуспешно

Element element = document.getElementById("dle-content");
Elements mainNewsBlock = element.select("main-news");
Elements mainNewsAllBlock = mainNewsBlock.select("main-news-all");
Elements mainNewsImage = mainNewsAllBlock.select("main-news-image");
Elements aBlock = mainNewsImage.select("a");
Elements spanBlock = aBlock.select("span.main-news-img-fon");
Elements imgBlock = spanBlock.select("img");
Log.d(TAG, imgBlock.attr("alt").toString());
Log.d(TAG, imgBlock.attr("src").toString());

Что не так, народ подскажите?

Кроме того < div id="dle-content" >...< /div >
имеет пять вложенных < div class="main-news" >...< /div >

То есть мне надо вытащить пять ссылок и пять строк (alt). Как в этом случае обойтись без дублирования?

Источник
  •  31
  •  1
  • 21 янв 2018 2018-01-21 23:26:48
Понял Вас спасибо, но что не так может быть с моим кодом. У меня не получается вытащить ссылку и текст в логах? — 22 янв 20182018-01-22 04:46:33.000000
mainNewsBlock имеет тип Elements, а тот позволяет получить список элементов, т.е. в нем будут ваши 5 элементов .main-news. Вам останется в цикле перебрать mainNewsBlock и для каждого элемента получить ссылку и строку — 21 янв 20182018-01-21 22:39:22.000000

1 ответ

0

Все, разобрался: в строковый аргумент нужно добавлять "**div.**name_class" то есть Elements mainNewsAllBlock = mainNewsBlock.select("div.main-news-all"); и далее по ангалогии

  • 22 янв 2018 2018-01-22 07:17:08