2012-01-20 2 views
1

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

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

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

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

+0

Просьба предоставить более подробную информацию, какой экстрактор вы используете? Вы пытались использовать ArticleExtractor? Я попытался использовать ArticleExtractor для извлечения содержимого сообщения stackoverflow, и он извлек весь текст для меня? нам было бы лучше отлаживать, если вы предоставите некоторый пример кода. –

+0

@ rao_555 Весь текст в виде текста или нескольких текстов? –

ответ

2

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

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

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

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

3

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

1

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

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

Смежные вопросы