Извлечь и очистить фрагмент HTML с помощью анализатора HTML (org.htmlparser)

Я ищу эффективный подход к извлечению фрагмента HTML с веб-страницы и выполнению некоторых конкретных операций с этим фрагментом HTML.

Требуются следующие операции:

  1. Удалить все теги с классом «скрытый»
  2. Удалить все теги сценария
  3. Удалить все теги стилей
  4. Удалить все атрибуты событий (на * = "*" )
  5. Удалить все атрибуты стиля

Я использовал HTML Parser (org.htmlparser) для этой задачи и смог удовлетворить все требования, однако я не чувствую что у меня есть элегантное решение. В настоящее время я анализирую веб-страницу с помощью CssSelectorNodeFilter (чтобы получить фрагмент), а затем повторно анализирую этот фрагмент с помощью NodeVisitor для выполнения операций очистки.

Кто-нибудь может подсказать, как они будут решать эту проблему? Я бы предпочел проанализировать документ только один раз и выполнить все операции во время этого синтаксического анализа.

Заранее спасибо!

6
задан Kieran Hall 2 December 2011 в 14:30
поделиться