http://www.csdn.net/article/2013-08-14/2816561-Gumbo-A-pure-C-HTML5-parser

在探讨完Google背后的开源力量后,今天向大家介绍Google开源的一款用C语言实现的HTML5解析库Gumbo,作为一款纯C99库,Gumbo解析时无需任何外部依赖。它主要是用来成为其他工具或库的一个构建块,如linters、验证器、模板语言、重构和分析工具。

目标及特征:

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

还未实现的目标

  • 执行速度
  • 支持C89

愿望清单(希望不久后能添加进去的功能)

  • 支持最新修订的HTML5规范,以支持模板标签。
  • 支持片段解析
  • 非常全面的错误报告
  • 与其他语言进行绑定

关于Gumbo的更多详情及安装、学习教程,大家可以访问其在Github上的托管地址。

国内镜像地址:https://code.csdn.net/OS_Mirror/gumbo-parser

谷歌开源Gumbo:纯C语言实现的HTML5解析库相关推荐

  1. c-ares 一个C语言的异步DNS解析库

    c-ares是一个C语言的异步DNS解析库,可以很方便的和使用者的事件循环统一起来,实现DNS的非 阻塞异步解析,libcurl, libevent, gevent, nodejs都在使用. 下面摘自 ...

  2. c语言自定义的xml解析库,轻量级C语言实现的xml解析库minixml

    搜索热词 1下载:http://www.msweet.org/downloads.PHP?L+Z3 2说明:@H_404_4@Mini-XML是一个小型的开源的XML解析器,采用 C 语言开发.该解析 ...

  3. Go语言——快速使用Markdown解析库

    目录 go解析markdown markdown解析库 使用: 安全过滤: 例子: 关于Markdown的语法:Markdown语法文档(翻译) go解析markdown Markdown 是一种轻量 ...

  4. Go语言银联8583报文解析库,支持联小额免密付和银商聚合支付

    很早之前就整过一个Go语言版的银联8583报文解析库,当时仅是8583报文的解析. 最近整合了进了银联小额双免交易和银商的聚合支付交易通道,这可以是网上最简单的8583报文解析库了. 银联双免支付通道 ...

  5. 了解Google的开源HTML5解析引擎Gumbo

    谷歌开源Gumbo:纯C语言实现的HTML5解析库,的确是针对浏览器尤其是HTML5的研究人员是一个福音 看看网上描述的这些特征: 完全符合HTML5规范 强大,并且对于一些有问题的代码,能够灵活.有 ...

  6. java的开源项目哪里找,我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)...

    我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  7. 谷歌开源能翻译101种语言的AI模型,只比Facebook多一种

    大数据文摘出品 来源:VB 10月底,Facebook发布了一款可翻译100种语言的机器学习模型,微软发布了一款能翻译94种语言的模型,谷歌自然也不甘示弱. 继Facebook和微软后,谷歌开源了一种 ...

  8. python xlsx 样式 谷歌开源 样式_连续加班一周最终把所有的Python库整理出来了,愿各位早日学会Py-站长资讯中心...

    MySQLdb,成熟的[MySQL]数据库模块, Baresql,SQL数据库包 ZODB,Python本地对象数据库.一个K-V对象图数据库. pickledb,简单和轻量级的K-V键值存储. Ti ...

  9. 各种NLP操作难实现?谷歌开源序列建模框架Lingvo

    各种NLP操作难实现?谷歌开源序列建模框架Lingvo 自然语言处理在过去一年取得了很大进步,但直接关注 NLP 或序列建模的框架还很少.本文介绍了谷歌开源的 Lingvo,它是一种建立在 Tenso ...

最新文章

  1. Spring Boot 2.x整合Websocket(基于Spring Boot 2.x 前后端分离 iview admin vue 集成activiti工作流...
  2. boost::proto::display_expr相关的测试程序
  3. 使用.net资源文件时候发生的问题
  4. vasp 5.2编译方法
  5. js函数提示 vscode_为VSCode / Monaco Intellisence添加JavaScript类型提示
  6. 使用说明 思迅收银系统_便利店收银使用的收银系统应该取决于什么?
  7. 医疗行业的售前工程师如何撰写人工智能案例申请材料
  8. R7-3 出租 (20 分)
  9. GlobalSign 团队与世界领先的认证机构(CAs)合作 共同加强网络安全
  10. stylus 设置全局样式_在vue-cli 3中, 给stylus、sass样式传入共享的全局变量
  11. 风格之争:Coroutine vs Callback
  12. Chrome浏览器截取全屏(无需安装任何插件)
  13. db2和oracle更新xml大字段
  14. 设计模式09-组合模式
  15. _Linux中删除特殊名称文件的多种方式
  16. 七款顶级HTML5编辑器带你飞
  17. C++正则表达式regex库使用方法总结
  18. 微信小程序 版本更新及调试方法
  19. Scratch3.0----函数(1)
  20. Linux之日志服务及管理

热门文章

  1. 内网环境 linux 安装pip
  2. Linux centos7网络配置
  3. 执行RMAN恢复的高级场景_执行灾难恢复(Disaster Recovery)
  4. Ext实现表格列头冻结效果,锁定列头
  5. Qt编写控件属性设计器6-动态属性
  6. 同相放大器和反相放大器
  7. 证书链校验 与 证书合并
  8. 关于5037端口的占用解决方法
  9. JAVA Swing实现简单的体重指数(BMI)计算器
  10. procedure存储数据的过程