Как я могу извлечь только основное текстовое содержимое из HTML-страницы?

Обновление

Boilerpipe, похоже, работает очень хорошо, но я понял, что мне не нужен только основной контент, потому что на многих страницах нет статьи, но только ссылки с кратким описанием на весь текст (это распространено на новостных порталах), и я не хочу отбрасывать этот короткий текст.

Итак, если API делает это, получите различные текстовые части / разбиение блоков каждая из них каким-то образом отличается от отдельного текста (все в одном тексте бесполезна), сообщите.


Вопрос

Я загружаю несколько страниц со случайных сайтов, и теперь я хочу проанализировать текстовое содержание страницы.

Проблема в том, что на веб-странице много контента, такого как меню, реклама, баннеры и т. д.

Я хочу попробовать Включите все, что не связано с содержимым страницы.

Взяв эту страницу в качестве примера, я не хочу ни меню выше, ни ссылки в нижнем колонтитуле.

Важно: Все страницы являются HTML и это страницы с разных сайтов. Мне нужно предложение, как исключить это содержимое.

На данный момент я думаю об исключении содержимого внутри классов «меню» и «баннер» из HTML и последовательных слов, которые выглядят как собственное имя (первая заглавная буква).

Решения могут быть основаны на тексте содержимое (без тегов HTML) или в содержимом HTML (с тегами HTML)

Изменить: Я хочу сделать это внутри своего Java-кода, а не во внешнем приложении (если это возможно).

Я попробовал разобрать HTML-содержимое, описанное в этом вопросе: https://stackoverflow.com/questions/7035150/how-to-traverse-the-dom-tree-using-jsoup-doing-some-content- фильтрация

19
задан Community 23 May 2017 в 12:33
поделиться