Skip to content

parse5vscascadia

MIT 34 7 3,886
419.4 million (month) Jul 03 2013 8.0.0(2026-02-21 19:30:52 ago)
754 1 1 BSD-2-Clause
Feb 20 2018 58.1 thousand (month) Start(2018-02-20 18:47:44 ago)

parse5 is a Node.js library for parsing and manipulating HTML and XML documents. It is designed to be fast and flexible, and it is commonly used in web scraping and web development projects.

parse5 is used by popular libraries such as Angular, Lit, Cheerio and many more. Unlike Cheerio parse5 is a low level html parsing library that might be useful directly in web scraping without higher level abstraction.

cascadia is a library for Go that provides a CSS selector engine, allowing you to use CSS selectors to select elements from an HTML document.

It is built on top of the html package in the Go standard library, and provides a more efficient and powerful way to select elements from an HTML document.

Example Use


```javascript const parse5 = require("parse5"); // parse string const document = parse5.parse('Hello World!'); console.log(document); // html tree can be traversed as javascript object: const body = document.childNodes[1]; console.log(body.childNodes[0].value); // "Hello World!" // and modified const newElement = parse5.parseFragment('

New Element

'); body.appendChild(newElement.childNodes[0]); console.log(parse5.serialize(document)); ```
```go package main import ( "fmt" "github.com/andybalholm/cascadia" "golang.org/x/net/html" "strings" ) func main() { // Create an HTML string html := `

Hello, World!

Example
` // Parse the HTML string into a node tree doc, err := html.Parse(strings.NewReader(html)) if err != nil { fmt.Println("Error:", err) return } // Compile the CSS selector sel, err := cascadia.Compile("p") if err != nil { fmt.Println("Error:", err) return } // Use the Selector.Match method to select elements from the document matches := sel.Match(doc) if len(matches) > 0 { fmt.Println(matches[0].FirstChild.Data) // > Hello, World! } } ```

Alternatives / Similar


Was this page helpful?