Gumbo is an implementation of the HTML5 parsing algorithm implemented as a pure C99 library with no outside dependencies. It's designed to serve as a building block for other tools and libraries such as linters, validators, templating languages, and refactoring and analysis tools. Gumbo gains some of this by virtue of being written in C, but it is not an important consideration for the intended use-case, and was not a major design factor. Gumbo is intentionally designed to turn an HTML document into a parse tree, and free that parse tree all at once. To install the python bindings, make sure that the C library is installed first, and then sudo python setup.py install from the root of the distro. This installs a 'gumbo' module; pydoc gumbo should tell you about it. Tested on over 2.5 billion pages from Google's index. Passes all html5lib tests, including the template tag.

Features

  • Fully conformant with the HTML5 spec
  • Robust and resilient to bad input
  • Simple API that can be easily wrapped by other languages
  • Support for source locations and pointers back to the original text
  • Support for fragment parsing
  • Relatively lightweight, with no outside dependencies

Project Samples

Project Activity

See All Activity >

Categories

HTML/XHTML, Libraries

License

Apache License V2.0

Follow Gumbo

Gumbo Web Site

You Might Also Like
Top-Rated Free CRM Software Icon
Top-Rated Free CRM Software

216,000+ customers in over 135 countries grow their businesses with HubSpot

HubSpot is an AI-powered customer platform with all the software, integrations, and resources you need to connect your marketing, sales, and customer service. HubSpot's connected platform enables you to grow your business faster by focusing on what matters most: your customers.
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Gumbo!

Additional Project Details

Operating Systems

Mac

Programming Language

C

Related Categories

C HTML XHTML, C Libraries

Registered

2021-10-29