纯C语言实现的HTML5解析库:Gumbo

jopen 11年前

Google开源的一款用C语言实现的HTML5解析库Gumbo,作为一款纯C99库,Gumbo解析时无需任何外部依赖。它主要是用来成为其他工具或库的一个构建块,如linters、验证器、模板语言、重构和分析工具。

目标及特征:

  • 完全符合HTML5规范
  • 强大,并且对于一些有问题的代码,能够灵活、有弹性地处理
  • 简单的API,可以很容易地与其他语言捆绑
  • 支持源位置和指针回到原始文本
  • 轻巧、没有外部依赖
  • 通过所有的html5lib-0.95测试
  • 已在超过25亿个来自谷歌索引的页面中进行过测试

示例代码:

#include "gumbo.h"    int main(int argc, char** argv) {    GumboOutput* output = gumbo_parse(argv[1]);    // Do stuff with output->root    gumbo_destroy_output(&kGumboDefaultOptions, output);  }

项目主页:http://www.open-open.com/lib/view/home/1376493434350