Извлечь содержимое со страницы - PullRequest
0 голосов
/ 13 ноября 2011

Мне нужно распознать контент на странице - чтобы сделать что-то вроде этого http://www.alchemyapi.com/api/text/ (мне нужно получить HTML, чтобы я не мог использовать этот API)

Какую логику я могу использовать для достиженияэтот?(Язык кодирования не имеет значения)

Вот что я сделал (с хорошим результатом) - нужно гораздо больше исправлений ...

  1. Найдите больше текста на странице, так чтоне иметь разрывных тегов - игнорировать встроенные теги (span, b и т. д.)
  2. подняться на один уровень вверх и считать разрушающие тэги (br, p, div и т. д.)
  3. Поднимитесь на другой уровень и посчитайте теги
  4. Сравните количество тегов, начиная с шага 2, с шагом 3
  5. Если есть много других, мы останавливаемся здесь - если нет, мы переходим к шагу 3

Ответы [ 3 ]

3 голосов
/ 13 ноября 2011

Ищите библиотеку Boilerpipe .Это комплексное решение.

Используя библиотеку Boilerpipe, вы можете указать выходные данные в виде HTML.Таким образом, вы получаете основной контент (статью), сохраняя при этом свои HTML-теги.

2 голосов
/ 21 ноября 2014

Другой хорошей альтернативой было бы использование Goose .

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

0 голосов
/ 21 ноября 2014

Вам нужен парсер для навигации по DOM, в пакетах NuGet вы можете найти некоторые полезные инструменты парсера, такие как this

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