Skip to content

feedparservscascadia

NOASSERTION 105 9 2,351
14.7 million (month) Jun 15 2007 6.0.12(2025-09-10 13:33:58 ago)
754 1 1 BSD-2-Clause
Feb 20 2018 58.1 thousand (month) Start(2018-02-20 18:47:44 ago)

feedparser is a Python module for downloading and parsing syndicated feeds. It can handle RSS 0.90, Netscape RSS 0.91, Userland RSS 0.91, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0, and CDF feeds. It also parses several popular extension modules, including Dublin Core and Apple’s iTunes extensions.

To use Universal Feed Parser, you will need Python 3.6 or later. Universal Feed Parser is not meant to run standalone; it is a module for you to use as part of a larger Python program.

feedparser can be used to scrape data feeds as it can download them and parse the XML structured data.

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


```python import feedparser # the feed can be loaded from a remote URL data = feedparser.parse('http://feedparser.org/docs/examples/atom10.xml') # local path data = feedparser.parse('/home/user/data.xml') # or raw string data = feedparser.parse('...') # the result dataset is a nested python dictionary containing feed data: data['feed']['title'] ```
```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?