Вопрос

Я код много парсеров. До сих пор я использовал HTMLUNIT безголовый браузер для анализа и автоматизации браузера.

Теперь я хочу отделить обоих задач.

Поскольку 80% моей работы включает в себя просто разбор, я хочу использовать свет HTML-анализатора, потому что в HTMLUNIT требуется много времени, чтобы сначала загрузить страницу, а затем получить источник, а затем разбирать его.

Я хочу знать, какой HTML Parser является лучшим. Парсер будет лучше, если он близок к парсеру HTMLUNIT.


РЕДАКТИРОВАТЬ:

Лучшим, я хочу, по крайней мере, следующие функции:

  1. Скорость
  2. Легкость Чтобы найти любое HTMLELELEMENT по его «ID» или «Name» или «Тип тега».

Это было бы нормально для меня, если он не очистит грязный HTML-код. Мне не нужно чистить какой-либо источник HTML. Мне просто нужен самый простой способ переехать через HTMLELEMALEMENTS и сбора данных с ними.

Это было полезно?

Решение

Self Plug: я только что выпустил новый парсер Java HTML: jsououp.. Отказ Я упоминаю это здесь, потому что я думаю, что это сделает то, что вы после.

Его вечеринок - это синтаксис селектора CSS для поиска элементов, например:

String html = "<html><head><title>First parse</title></head>"
  + "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
Element head = doc.select("head").first();

Увидеть Селектор Javadoc для получения дополнительной информации.

Это новый проект, поэтому любые идеи для улучшения очень приветствуются!

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

Лучшее, что я видел, пока HTMLCleaner:

HTMLCleaner - это Parser Parser HTML Source, написанный в Java. HTML найдено в Интернете, обычно грязно, плохо образовавшись и не подходит для дальнейшей обработки. Для любого серьезного потребления таких документов необходимо сначала очистить беспорядок и приносить заказ на теги, атрибуты и обычный текст. Для данного HTML-документа HTMLCleaner переносит отдельные элементы и производит хорошо сформированную XML. По умолчанию следует подобные правила, которые используют большинство веб-браузеров для создания объектной модели документа. Тем не менее, пользователь может предоставить пользовательский тег и правило, установленный для фильтрации и балансировки тегов.

С HTMLCleaner вы можете найти любой элемент, используя XPath.

Для других парсеров HTML см. Это так вопрос.

Я предлагаю Парсер Validator.nu, на основе алгоритма обшивки HTML5. Это парсер, используемый в Mozilla с 2010-05-03

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