jsoup — извлечь текст из статьи в Википедии

Я пишу некоторый код Java, чтобы реализовать задачи НЛП над текстами с использованием Википедии. Как я могу использовать JSoup для извлечения всего текста статьи из Википедии (например, всего текста в http://en.wikipedia.org/wiki/Boston)?


person Ema    schedule 05.02.2012    source источник
comment
Является ли разбор текста с jsoup частью интересной проблемы? Потому что если нет, вы должны просто использовать параметр action=raw, чтобы получить источник для каждой страницы. например en.wikipedia.org/w/index.php?title=Elephant&action= сырой   -  person beerbajay    schedule 05.02.2012
comment
Это возвращает разметку Wiki.   -  person Hauke Ingmar Schmidt    schedule 05.02.2012
comment
используйте это, это более надежно и удобно на серверах википедии: trulymadlywordly.blogspot.com/2011/03/   -  person Maarten    schedule 08.09.2013


Ответы (1)


Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/Boston").get();
Element contentDiv = doc.select("div[id=content]").first();
contentDiv.toString(); // The result

Конечно, таким образом вы извлекаете отформатированное содержимое. Если вам нужен «сырой» контент, вы можете отфильтровать результат с помощью Jsoup.clean или использовать вызов contentDiv.text().

person Hauke Ingmar Schmidt    schedule 05.02.2012
comment
Почему бы нет? Так и должно быть, но он возвращает такие вещи, как заголовки или маркеры перечисления. Если вам нужны только (английские) слова, вам нужно немного отфильтровать, но мы не знаем ваших точных требований. - person Hauke Ingmar Schmidt; 06.02.2012
comment
Я скопировал ваш код в свой класс, и он не работал. Однако я сделал это сам, прежде чем попробовать ваше решение... и решение похоже!!! Однако спасибо... теперь я работаю над другим вопросом!!! stackoverflow.com/questions/9160760/ - person Ema; 06.02.2012
comment
Я взял эти строки из живого кода, так что они должны хотя бы работать. - person Hauke Ingmar Schmidt; 06.02.2012
comment
ДА ОНИ БЕГАЮТ! Но тем не менее я решил проблему!!! Вы посмотрели на другой вопрос? - person Ema; 06.02.2012
comment
У меня будет больше мотивации ответить на этот вопрос, если этот вопрос будет завершен. В чем проблема с моим решением? Как вы решили проблему? - person Hauke Ingmar Schmidt; 06.02.2012
comment
Просто щелкните ссылку «Справка» рядом с полем для комментариев, чтобы увидеть синтаксис. Если он длиннее, вы можете создать собственный ответ. - person Hauke Ingmar Schmidt; 06.02.2012
comment
Мне жаль? Я предложил решение, вы не рассказали о своей проблеме. - person Hauke Ingmar Schmidt; 07.02.2012
comment
Но вы просите меня поставить свое решение, и если вы попробуете его, вы увидите, что вывод немного отличается, но ваше решение хорошее !!!! Это была моя ошибка!! Проблема в том, что я решил сам!!! Это все! Так что мне нужна помощь в другом вопросе... не в этом... но никто не пытается мне помочь! - person Ema; 07.02.2012
comment
Пожалуйста, успокойся. Если вы не предоставите никакой обратной связи (Что снова было проблемой с моим кодом?), мотивация помочь быстро угаснет. И вы должны показать, что вы уже сделали и в чем ваши проблемы (в другом вашем вопросе), а не просто просить людей делать вашу работу. - person Hauke Ingmar Schmidt; 07.02.2012