Библиотеки Java для извлечения текстовых блоков из HTML-страниц - PullRequest
1 голос
/ 20 января 2012

Я хочу извлечь текстовые блоки из HTML-страницы, и я использую шаблон для этого. Он отлично работает для одного текста на странице, но на некоторых страницах, таких как блоги, на странице несколько текстов.

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

Есть какая-нибудь библиотека, которая может это сделать?

РЕДАКТИРОВАТЬ : Я использую Jsoup для разбора HTML, но я не хочу выполнять синтаксический анализ, а извлечение информации, как это происходит на страницах. Я хочу проверить другой подобный инструмент.

Ответы [ 3 ]

3 голосов
/ 20 января 2012

JSoup - очень широко используемый синтаксический анализатор для задач такого типа. Пожалуйста, проверьте это.

2 голосов
/ 20 января 2012

Ну, лично мне понравилось использовать Doj вместе с HtmlUnit .В основном Doj представляет нечто похожее на CSS-селекторы для Java.

Пример (с официальной страницы):

Doj spanDoj = Doj.on(page).get("#updates tr", 1).get("td", 2).get("span.item");

Более сложный пример можно увидеть на связанной странице (прокрутите его вниз).

1 голос
/ 20 января 2012

Ближайшая из известных мне библиотек Java - проект Road Runner: http://www.dia.uniroma3.it/db/roadRunner/ Это система, которая может создавать специальный вид регулярного выражения на токенах в HTML-документе, который может (во многих случаях) обнаруживать шаблоны такого типа по нескольким документам на основе одного и того же шаблона. Это может быть достигнуто для блогов, например, просматривая постраничные страницы. Вам, вероятно, все равно придется выбирать, какие именно повторяющиеся шаблоны были интересны для каждого сайта.

Для блогов, я бы, вероятно, искал ссылку на фид в заголовке блога и использовал бы библиотеку синтаксического анализа фида для анализа постоянных ссылок для каждой статьи. Просканируйте их и используйте шаблон (это необходимо только потому, что многие блоги не содержат полный текст в ленте RSS / Atom). Во многих блогах также нет полного текста на главной странице, поэтому я бы сосредоточился на методах определения постоянных ссылок и пошел оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...