Gumbo —— 纯 C 实现的 HTML5 解析库
Gumbo 是 Google 开源的纯 C99 实现的 HTML5 解析库,实现了 HTML5 解析算法,无外部依赖。Gumbo-parser 的目的是为其他工具提供构建块和一些实用库,比如验证器,模板语言,重构和分析工具。
主要特性:
- 完全符合 HTML5 规范
- 健壮,可伸缩
- API 简单,容易被其他语言封装
- 支持源文件位置和指针定位
- 支持片段解析
- 相对轻量级,无外部依赖
- 通过了所有 html5lib 测试,包括模板标签
- 通过了从 Google 索引查找的 25 亿个页面测试
其他特性:
- 执行速度
- 支持 UTF-8 以外的编码
- 易改动
- C89 支持
- 完全支持 <template> 标签
GitHub 地址:https://github.com/google/gumbo-parser
基础使用:
#include "gumbo.h"
int main() {
GumboOutput* output = gumbo_parse("<h1>Hello, World!</h1>");
// Do stuff with output->root
gumbo_destroy_output(&kGumboDefaultOptions, output);
}
发表回复