Какие алгоритмы я могу использовать для идентификации контента на веб-странице?

StackOverflow https://stackoverflow.com/questions/1999228

Вопрос

У меня есть веб-страница, загруженная в браузер (т.е.мне доступны его DOM и позиционирование элемента), и я хочу найти блочный элемент (или отсортированный список этих элементов), который, вероятно, содержит большую часть контента (как в непрерывном блоке текста).Цель состоит в том, чтобы исключить такие элементы, как меню, верхние и нижние колонтитулы и тому подобное.

Это было полезно?

Другие советы

Во-первых, если вам нужно проанализировать веб-страницу, я бы использовал HTMLAgilityPack чтобы преобразовать его в XML.Это ускорит все и позволит вам, используя простой XPath, перейти непосредственно к BODY.

После этого вам нужно запустить все элементы DIV (вы можете получить все элементы DIV в списке из пакета Agility) и получить все, что захотите.

Для этого существует простой метод, основанный на анализе того, насколько «зашумлен» HTML, т. е. каково соотношение разметки и текста, отображаемого на HTML-странице. Простой способ извлечь полезный текст из произвольного HTML описывает этот текс, давая для иллюстрации некоторый код Python.

См.так же HTML::ContentExtractor Perl-модуль, реализующий эту идею.Если вы хотите использовать это, имело бы смысл сначала очистить HTML, используя beautifulsoup.

Я бы порекомендовал диссертацию Вита Байсы на тему Очистка веб-контента, Я думаю, у него тоже есть какой-то код, но я не могу найти на него ссылку.Существует также обсуждение той же проблемы в блоге LingPipe по обработке естественного языка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top