Какой HTML Parser является лучшим? [закрыто
-
24-09-2019 - |
Вопрос
Я код много парсеров. До сих пор я использовал HTMLUNIT безголовый браузер для анализа и автоматизации браузера.
Теперь я хочу отделить обоих задач.
Поскольку 80% моей работы включает в себя просто разбор, я хочу использовать свет HTML-анализатора, потому что в HTMLUNIT требуется много времени, чтобы сначала загрузить страницу, а затем получить источник, а затем разбирать его.
Я хочу знать, какой HTML Parser является лучшим. Парсер будет лучше, если он близок к парсеру HTMLUNIT.
РЕДАКТИРОВАТЬ:
Лучшим, я хочу, по крайней мере, следующие функции:
- Скорость
- Легкость Чтобы найти любое 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