I was playing with gumbo several months ago and made a nicer C++ wrapper that allowed for some interesting ways of doing queries. It was fun playing with combining the predicates and optimizing the result type so that it did less work. <a href="https://github.com/beached/gumbo_pp" rel="nofollow">https://github.com/beached/gumbo_pp</a>
It uses libcurl and gumbo (<a href="https://github.com/google/gumbo-parser" rel="nofollow">https://github.com/google/gumbo-parser</a>). Gumbo is apparently written in pure C99 (interestingly Curl is written in the even older C89 standard). Will've been more amusing if article was written considering that and used C99.