Компания Google открыла код Gumbo, библиотеки для парсинга HTML

Компания Google представила новую открытую библиотеку Gumbo, предоставляющую набор функций для разбора HTML, построенных на реализации алгоритма парсинга, описанного в стандарте HTML5. Код опубликован под лицензией Apache 2.0.

В отличие от прошлых спецификаций HTML, стандарт HTML5 определяет единый алгоритм разбора HTML, позволяющий унифицировать работу парсера в различных браузерах. Проблема заключается в том, что существующие реализации алгоритма HTML5 либо привязаны к конкретным реализациям браузеров или движков рендеринга, что затрудняет их обособленное использование, либо написаны на скриптовых языках, что не позволяет добиться приемлемой производительности. Реализованный в Gumbo парсер проходит все тесты html5lib-0.95 и готов для использования в качестве отдельного продукта.

Библиотека написана на языке Си и не требует для своей работы внешних зависимостей, что делает её интересным решением для использования в качестве основы для построения различных инструментов для проверки корректности, рефакторинга и анализа HTML, создания шаблонизаторов и других программ, манипулирующих разметкой HTML. Предоставляемый Gumbo API предельно прост и может использоваться для создания обёрток для различных языков программирования. Библиотека позиционируется как стабильная — код уже используется в промышленной эксплуатации для работы с поисковыми индексами Google.

Особенностью Gumbo также является изначально поддерживаемые средства отслеживания местонахождения узлов в дереве парсинга и их сопоставление с позицией в оригинальном тексте. Из планов на будущее отмечается реализация функций для разбора отдельных фрагментов, предоставление полноценных средств генерации отчётов о выявленных ошибках в разметке, создание биндингов для различных языков программирования.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.