Я кодирую много парсеров. До сих пор я использовал безголовый браузер HtmlUnit для анализа и автоматизации браузера.
Теперь я хочу разделить обе задачи.
Поскольку 80% моей работы связаны с простым анализом, я хочу использовать легкий анализатор HTML, потому что в HtmlUnit требуется много времени, чтобы сначала загрузить страницу, затем получить исходный код и затем проанализировать его.
Я хочу знать, какой HTML-парсер лучший. Анализатор будет лучше, если он будет близок к анализатору HtmlUnit.
РЕДАКТИРОВАТЬ:
В лучшем случае я хочу по крайней мере следующие функции:
- скорость
- Легко найти любой HtmlElement по его «id» или «name» или «type tag».
Было бы хорошо, если бы он не очищал грязный HTML-код. Мне не нужно чистить любой источник HTML. Мне просто нужен самый простой способ перемещаться по элементам HtmlElements и собирать с них данные.
источник
Ответы:
Self plug: Я только что выпустил новый анализатор Java HTML: jsoup . Я упоминаю об этом здесь, потому что я думаю, что он будет делать то, что вы после.
Его трюк для вечеринки - это синтаксис селектора CSS для поиска элементов, например:
См. Селектор javadoc для получения дополнительной информации.
Это новый проект, поэтому любые идеи по улучшению приветствуются!
источник
Лучшее, что я видел до сих пор, это HtmlCleaner :
С HtmlCleaner вы можете найти любой элемент, используя XPath.
Для других html-парсеров смотрите этот вопрос .
источник
Similar rules that the most of web browsers use
- Это не очень убедительноЯ предлагаю парсер Validator.nu , основанный на алгоритме парсинга HTML5. Это парсер, используемый в Mozilla с 2010-05-03
источник