gumbo-parser
q.nim
gumbo-parser | q.nim | |
---|---|---|
7 | 1 | |
5,116 | 52 | |
- | - | |
0.0 | 0.0 | |
about 1 year ago | over 2 years ago | |
HTML | Nim | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gumbo-parser
- Gumbo HTML5 parsing library has been discontinued
-
Web Scraping with C++
It uses libcurl and gumbo (https://github.com/google/gumbo-parser). 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.
- how to make a C++ web scraper?
-
The computers are fast, but you don't know it
> A standards compliant HTML5 parser is at the bare minimum millions of lines of code.
But https://github.com/google/gumbo-parser is only 34K lines?
-
Markup Language Operations in Nim to extract and remove el
oops... I saw a markup parser and automatically thought XML, but you are right! HTML is actually a whole different beast!
As it turns out, seems like nim also has an html parser [1], but I'm guessing something like Google's gumbo [2] could be more reliable, but you would have to write bindings for nim.
1: https://nim-lang.org/docs/htmlparser.html
2: https://github.com/google/gumbo-parser
-
What second language to learn after Python?
Well, regarding HTML5, what I've found was libxml (does not support tag-soup HTML5), https://github.com/lexbor/lexbor, for which I was unable to find good documentation ( see https://lexbor.com/docs/lexbor/#dom), Apache Xerces (appears to not support tag-soup HTML5 as well), and Gumbo, which does not appear to be active and to support selectors and XPath (although there are libraries that add that).
-
Does anyone know of an HTML parser written in C++ that has Node.js interface?
I haven't used any of them, but there's a few wrappers available for Gumbo.
q.nim
-
Markup Language Operations in Nim to extract and remove el
nim does have basic HTML support too¹, and there are a bunch of packages available with nimble to extend that support in various ways(including a few that offer CSS selector filtering like q²).
¹ https://nim-lang.org/docs/htmlparser.html
² https://github.com/OpenSystemsLab/q.nim
What are some alternatives?
Xerces-C++ - Apache Xerces-C validating XML parser
HTML-XML-Operations-Nim - Mark Up Language extraction, removal and copy
lexbor - Lexbor is development of an open source HTML Renderer library. https://lexbor.com
benchmarks - Some benchmarks of different languages
cpr - C++ Requests: Curl for People, a spiritual port of Python Requests.
html-parser.ts - zero-dependency html parser for node.js and browser that return the dom (tree) structure
score - ossia score, an interactive sequencer for the intermedia arts
v86 - x86 PC emulator and x86-to-wasm JIT, running in the browser
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
gumbo_pp - C++ helpers and abstractions over Google Gumbo HTML parser