Google开放HTML5解析库Gumbo的源代码

来源:互联网 发布:php curl 采集 类库 编辑:程序博客网 时间:2024/05/08 15:41

Google已经开放了Gumbo的源代码,这是一个用C编写的HTML解析库。该库符合HTML解析算法标准,它通过了所有的html5lib-0.95测试,并且已经在Google索引的25亿个网页上进行过测试。

根据该项目的说明页,Google发布Gumbo的目的是为开发人员提供一个轻量级的HTML解析库,它没有外部依赖,而且大多数语言都可调用它。该库可以包含在Web页面验证器、静态分析器、模板语言和重构工具等应用中。

Google认为,Gumbo“对于不够标准的输入,它健壮而有弹性”,但是,由于ABI将来可能发生变化,所以不推荐维护指向Gumbo的一些内部数据结构的指针。不过,该API被认为相当稳定。Gumbo 1.0会在不久的将来发布,在此之前,项目团队将一直等待开发人员的意见。

下面是一些将来会增加的功能:

  • 支持最近的HTML5规范变更,以支持模板标签
  • 支持片段解析
  • 全功能的错误报告
  • 在其它语言中的绑定

在HTML5解析算法标准化之前,每个浏览器自主选择如何标记输入页面和如何渲染页面。虽然HTML 4对于有效标记有详细说明,但是却没有指出在输入无效时浏览器应该做什么,所以世界上95%的Web页面都不能通过W3C参考验证器的验证。使用像Gumbo这样的工具验证HTML页面,可以保证页面在所有主要的浏览器中得到恰当地解析和渲染。

查看英文原文:Google Open Sources Gumbo, An HTML5 Parsing Library

原创粉丝点击