Первый релиз многопоточного HTML-парсера MyHTML
Опубликовано 13 Июль 2016 12:28:45
После нескольких месяцев разработки увидел свет первый релиз быстрого и самодостаточного HTML парсера MyHTML. Код написан на языке Си и распространяется под лицензией LGPL v2.1. На основе данного проекта разрабатывается рендер HTML, написанный на "голом" Си без зависимостей, способный формировать результирующий образ страниц без использования движков, подобных WebKit и Gecko. Кроме того, близится к завершению работа над CSS-парсером MyCSS.
Особенности MyHTML:
- Высокая производительность, значительно опережающая парсеры Gumbo, HTML5Lib, HTML5Ever и libhubbub;
- Обработка токенов и построение дерева в асинхронном режиме;
- Полная поддержка спецификаций HTML 5, по состоянию на 19.06.2016;
- Возможность добавлять, изменять и удалять элементы и их атрибуты;
- Поддерживает 39 кодировок на входе. На выходе только UTF-8, вся работа внутри только в UTF-8
- Автоматическое определение кодировки текста. Доступны unicode: UTF-8, UTF-16LE, UTF-16BE (+ определение по BOM) и русские кодировки windows-1251, koi8-r, iso-8859-5, x-mac-cyrillic, ibm866
- Может работать в однопоточном Single Mode или может быть собран без потоков;
- Возможность парсить фрагменты HTML или парсить кусками (chunks);
- Не имеет внешних зависимостей;
- Поддерживает C99;
- Два варианта API: низкоуровневый и высокоуровневый;
- Не испытывает проблем если на вход подать бинарный файл или невалидный HTML;
Проект также предоставляет большую подборку примеров по использованию и описание API.
Источник: http://www.opennet.ru/opennews/art.shtml?num=44782
|
0 | Tweet | Нравится |
|