Сканирование веб-страниц — определение основного содержимого на веб-странице в Java

#java #html #dom #web-crawler #data-mining

#java #HTML #dom #веб-сканер #интеллектуальный анализ данных

Вопрос:

Работаю над небольшим хобби-проектом, очищаю несколько веб-страниц, в основном блоги и новостные сайты, которые публикуют наши пользователи.

У нас есть небольшой скрипт, который просто берет список URL-адресов и очищает страницы, добавляя все содержимое, в основном версию hello world с использованием HTTP-компонентов Apache…

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

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

Есть несколько методов, которые приходят на ум, например, простой поиск самого большого элемента DOM с наиболее видимым текстом или сравнение количества символов, используемых для описания некоторого текста (т. Е. Метаданных), с фактическими текстовыми данными. Я надеялся, что у кого-то может быть что-то для этого на Java, но если нет, поскольку я собираюсь заняться этим, есть ли необходимость в такой утилите?

Приветствия!

Ответ №1:

Я думаю boilerpipe , это полезно для вас. Посмотрите здесь: http://code.google.com/p/boilerpipe /

И вот учебное пособие: http://code.google.com/p/boilerpipe/wiki/QuickStart

Мне кажется довольно простым:

 URL url = new URL("http://www.example.com/some-location/index.html");   
// NOTE: Use ArticleExtractor unless DefaultExtractor gives better results for you           
String text = ArticleExtractor.INSTANCE.getText(url);