#java #android #html #jsoup
#java #Android #HTML #jsoup
Вопрос:
Мне удалось извлечь информацию из «таблиц» в правой части статьи Википедии. Однако я также хочу получить абзацы из основного текста статей.
Код, который я использую atm, работает только около 60% времени (Nullpointers или вообще без текста). В приведенном ниже примере меня интересуют только первые абзацы, однако это не имеет отношения к моему вопросу.
На рисунке ниже я показываю, из каких частей мне нужен текст. Я хочу иметь возможность перебирать все
…
части в блоке < divid=»mw-content-text»….class=»mw-content-ltr»> .
StringBuilder sb = new StringBuilder();
String url = baseUrl location;
Document doc = Jsoup.connect(url).get();
Elements paragraphs = doc.select(".mw-content-ltr p");
Element firstParagraph = paragraphs.first();
Element elementTwo = firstParagraph.nextElementSibling();
if (elementTwo == null) {
for (int i = 0; i < 2; i ) {
sb.append(paragraphs.get(i).text());
}
} else {
sb.append(elementTwo.text());
}
return sb.toString();
Комментарии:
1. Не нужно идти этим путем. В Википедии есть API, который позволяет запрашивать страницы: mediawiki.org/wiki/API (напр. en.wikipedia.org/w /… )
2. Выглядит хорошо, у вас есть какие-либо идеи, как будет выглядеть запрос, например, получить первый и второй абзац из статьи?
3. Ну, вам придется проделать некоторую работу самостоятельно. Если вы где-то застряли, не стесняйтесь вернуться и задать несколько вопросов.