Получение элементов по типу в искаженном HTML

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

  •  19-09-2019
  •  | 
  •  

Вопрос

Какой самый простой способ в Java получить все элементы с определенным типом на искаженной HTML-странице?Поэтому я хочу сделать что-то вроде этого:

public static void main(String[] args) {
    // Read in an HTML file from disk
    // Retrieve all INPUT elements regardless of whether the HTML is well-formed
    // Loop through all elements and retrieve their ids if they exist for the element
}
Это было полезно?

Решение

HTMLCleaner возможно, один из лучших анализаторов HTML, когда дело доходит до работы с (несколько) искаженным HTML.

Документация здесь с некоторыми примерами кода;вы в основном ищете getElementsByName() метод.

Взгляни на Сравнение парсеров Java HTML если вы рассматриваете другие библиотеки.

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

Я добился успеха, используя тегисуп.Вот краткое описание с их домашней страницы:

Это домашняя страница TagSoup, SAX-совместимого парсера, написанного на Java, который вместо анализа правильно сформированного или допустимого XML анализирует HTML в том виде, в каком он встречается в природе:бедный, противный и жестокий, хотя нередко и далеко не невысокий.TagSoup предназначен для людей, которым приходится обрабатывать эти вещи, используя некое подобие рационального дизайна приложения.Предоставляя интерфейс SAX, он позволяет применять стандартные инструменты XML даже к самому худшему HTML.TagSoup также включает в себя процессор командной строки, который читает файлы HTML и может генерировать либо чистый HTML, либо правильно сформированный XML, который является близким приближением к XHTML.

Проверить Аккуратный.

JTidy - это Java-порт HTML Tidy, средство проверки синтаксиса HTML и симпатичный принтер.Как и его двоюродный брат, не относящийся к Java, JTidy может использоваться как инструмент для очистки искаженного и дефектного HTML.Кроме того, JTidy предоставляет DOM интерфейс к документу, который обрабатывается, что эффективно позволяет использовать JTidy в качестве DOM анализатора для реального HTML.

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