Есть ли стандартный Java SE HTML Parser?Если так, зачем использовать нестандартные? - PullRequest
4 голосов
/ 31 января 2012

Мне нужно разобрать простую HTML-страницу с простой формой в ней.Ответы на аналогичные вопросы в StackOverflow предлагают использовать одну из большого числа нестандартных библиотек Java, таких как TagSoup, JSoup, HTMLParser и многих других.

Однако, веб-поиск показал, что в некоторых стандартных функцияхJava SE через этот класс: http://docs.oracle.com/javase/7/docs/api/javax/swing/text/html/parser/ParserDelegator.html

Мои подвопросы:

  1. Правда ли, что стандартный класс ParserDelegator может анализировать вариант использования, подобный моему?
  2. Каковы ограничения стандартной библиотеки, которые создают необходимость в большом количестве нестандартных библиотек?
  3. Не исключает ли тот факт, что ParserDelegator находится в разгаре, использование его на обычном облачном сервере EC2 для веб-приложения??Придется ли мне прыгать через много обручей, чтобы обойти безголовый аспект, или это будет просто небольшая настройка в конфигурации?
  4. Если стандартный не рекомендуется, какой нестандартный следует использовать, учитывая: (а) мое желание не отклоняться от стандарта;(б) мой простой вариант использования;(в) стремление к зрелой надежной реализации;и (d) нет ограничений по размеру или весу, поскольку это серверное приложение, а не встроенный клиент.API является гораздо более низким приоритетом, поэтому, хотя я ценю CSS-селектор JSoup, такой как API, другие проблемы (a) - (d) переопределяют его.

Спасибо.

1 Ответ

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

JDK имеет встроенный анализатор HTML, который поддерживает HTML 1.0 или около того. Он должен поддерживать синтаксический анализ базовых тегов и форм форматирования текста.

Причиной использования других сторонних анализаторов является требование поддержки «настоящих» HTML-страниц DHTML, JavaScript и т. Д.

JSoup - один из популярных парсеров, который может выполнять эту работу. Для получения дополнительной информации о других реализациях, пожалуйста, взгляните на следующее обсуждение:

Средство просмотра / рендеринга чистого HTML Java для использования в области прокрутки

...