Какой анализатор HTML DOM лучше всего работает на Android? - PullRequest
7 голосов
/ 25 сентября 2011

Мне нужно обработать некоторые HTML-страницы в моем приложении для Android, и я бы предпочел использовать XPath для извлечения соответствующей информации.Для обычного J2SE существует множество возможных реализаций для анализа обычного HTML в org.w3c.dom.Document :

(Список может быть неполным - он был извлечен из https://stackoverflow.com/questions/2009897/recommend-an-alternative-to-jtidy)

Но очень сложно оценить, насколько хорошо работают эти библиотеки на Android (размер библиотеки, процессор и память).потребление).

Исходя из вашего опыта - какая библиотека на ваш выбор для Android?

1 Ответ

2 голосов
/ 29 сентября 2011

ОК, похоже, никто не может ответить на этот вопрос - тогда я должен сам проверить это.

jTidy

Я скачал последние источники jTidy, скомпилировал их и добавил созданный файл jar в качестве библиотеки в свое приложение для Android. В моем приложении не было проблем с использованием jTidy (эмулятор и реальный телефон). Во время выполнения jTidy также отлично работает - но кажется, что он не очень подходит для ограниченной среды Android - он работает очень медленно. Если посмотреть на вывод Logcat даже при анализе html-файла размером ~ 10 Кб, сборщик мусора будет работать очень интенсивно.

HTMLCleaner

Из моего опыта HTMLCleaner также хорошо работает на Android; Размер библиотеки относительно небольшой (106 КБ для v2.2). Однако созданный анализ DOM не такой, как ожидалось - HTMLCleaner вставляет, например, дополнительные элементы <span> в DOM. Это может быть хорошо, если вы хотите отобразить его в виде файла HTML, но для моего случая использования - извлечение информации с помощью выражений XPath - это не нужно!

TagSoup

Не проверено

Иерихон

Не проверено

NekoHTML

Не проверено

JSoup

Не проверено

...