feedparser

Discover and parse RSS and Atom feeds


License
MIT

Documentation

Feedparser

Build Status

Atom and RSS

Both formats are converted to the same (RSS like) datastructure:

Atom RSS Datastructure
Feeds
feed channel %Feed{}
title title Feed.title
subtitle description Feed.description
link.href link Feed.link
updated lastBuildDate Feed.lastBuildDate
Items
entry item %Item{}
title title Item.title
link link Item.link
summary description Item.description
updated pubDate Item.pubDate

Feedparser.RSS

iex> HTTPoison.start
iex> HTTPoison.start
iex> {:ok, %HTTPoison.Response{status_code: 200, body: body}} = HTTPoison.get("http://l3kn.de/feed.xml")
iex> feed = Feedparser.RSS.parse(body)
...
iex> feed.title
'l3kn.de Blog'
iex> Enum.each feed.items, fn(i) -> IO.puts i.title end
...
Benchmarking with ab and R
Download all files in a Podcast feed
Project Euler in Erlang - Problem 1
Elixir on Uberspace

Feedparser.Utils

iex> HTTPoison.start
iex> {:ok, %HTTPoison.Response{status_code: 200, body: body}} = HTTPoison.get("http://l3kn.de")
iex> Feedparser.Utils.get_feeds(body)
["http://www.l3kn.de/feed.xml"]

TODO

  • Universal Parser
  • Move util functions to the Feedparser class
  • Add feed type to the %Feed{} object
  • Document the RSS-Parser
  • Document the Atom-Parser