All Projects → codehollow → Feedreader

codehollow / Feedreader

Licence: mit
C# RSS and ATOM Feed reader library. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Tested with multiple languages and feeds.

Projects that are alternatives of or similar to Feedreader

FeedReader
C# RSS and ATOM Feed reader library. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Tested with multiple languages and feeds.
Stars: ✭ 221 (+22.78%)
Mutual labels:  atom, rss, rss-reader, feed-reader, rss-feed
Gorss
Go Terminal Feed Reader
Stars: ✭ 191 (+6.11%)
Mutual labels:  rss, rss-reader, rss-feed, atom
Pluto
pluto gems - planet feed reader and (static) website generator - auto-build web pages from published web feeds
Stars: ✭ 174 (-3.33%)
Mutual labels:  feed-reader, rss, rss-reader, atom
webfeed
A dart package for parsing RSS & Atom feed
Stars: ✭ 92 (-48.89%)
Mutual labels:  atom, rss, rss-reader, feed-reader
reader
A Python feed reader library.
Stars: ✭ 290 (+61.11%)
Mutual labels:  rss, rss-reader, feed-reader, rss-feed
buran
Bidirectional, data-driven RSS/Atom feed consumer, producer and feeds aggregator
Stars: ✭ 27 (-85%)
Mutual labels:  atom, rss, rss-reader, feed-reader
Telegram Robot Rss
A clean and easy to use RSS Newsfeed Bot for fabulous Telegram Messenger App! 🤖 ✉️ ❤️
Stars: ✭ 120 (-33.33%)
Mutual labels:  rss, rss-reader, rss-feed
Liferea
Liferea (Linux Feed Reader), a news reader for GTK/GNOME
Stars: ✭ 612 (+240%)
Mutual labels:  rss, rss-reader, atom
Neix
neix - a RSS/Atom feed reader for your terminal.
Stars: ✭ 128 (-28.89%)
Mutual labels:  feed-reader, rss, rss-reader
Newsblur
NewsBlur is a personal news reader that brings people together to talk about the world. A new sound of an old instrument.
Stars: ✭ 5,862 (+3156.67%)
Mutual labels:  feed-reader, rss, rss-reader
Newsbeuter
Newsbeuter is an open-source RSS/Atom feed reader for text terminals.
Stars: ✭ 783 (+335%)
Mutual labels:  feed-reader, rss, rss-reader
Gofeed
Parse RSS, Atom and JSON feeds in Go
Stars: ✭ 1,762 (+878.89%)
Mutual labels:  rss, rss-feed, atom
Feedbag
Ruby's favorite feed auto-discovery library/tool
Stars: ✭ 115 (-36.11%)
Mutual labels:  rss, rss-feed, atom
Feedhq
FeedHQ is a web-based feed reader
Stars: ✭ 525 (+191.67%)
Mutual labels:  feed-reader, rss, rss-feed
All About Rss
A list of RSS related stuff: tools, services, communities and tutorials, etc.
Stars: ✭ 636 (+253.33%)
Mutual labels:  rss, rss-reader, rss-feed
News
📰 RSS/Atom feed reader
Stars: ✭ 524 (+191.11%)
Mutual labels:  feed-reader, rss, rss-reader
Netnewswire
RSS reader for macOS and iOS.
Stars: ✭ 5,105 (+2736.11%)
Mutual labels:  feed-reader, rss, rss-reader
Raven Reader
📖 All your articles in one place. Beautiful.
Stars: ✭ 2,040 (+1033.33%)
Mutual labels:  feed-reader, rss-reader, rss-feed
Feedkit
An RSS, Atom and JSON Feed parser written in Swift
Stars: ✭ 895 (+397.22%)
Mutual labels:  rss, rss-reader, atom
Discord feedbot
Moved to https://gitlab.com/ffreiheit/discord_feedbot
Stars: ✭ 67 (-62.78%)
Mutual labels:  rss, rss-feed, atom

FeedReader

FeedReader is a .net library used for reading and parsing RSS and ATOM feeds. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Developed because tested existing libraries do not work with different languages, encodings or have other issues. Library tested with multiple languages, encodings and feeds.

FeedReader library is available as NuGet package: https://www.nuget.org/packages/CodeHollow.FeedReader/

Usage

The simplest way to read a feed and show the information is:

    var feed = await FeedReader.ReadAsync("https://arminreiter.com/feed");

    Console.WriteLine("Feed Title: " + feed.Title);
    Console.WriteLine("Feed Description: " + feed.Description);
    Console.WriteLine("Feed Image: " + feed.ImageUrl);
    // ...
    foreach(var item in feed.Items)
    {
        Console.WriteLine(item.Title + " - " + item.Link);
    }

There are some properties that are only available in e.g. RSS 2.0. If you want to get those properties, the property "SpecificFeed" is the right one:

    var feed = await FeedReader.ReadAsync("https://arminreiter.com/feed");

    Console.WriteLine("Feed Title: " + feed.Title);
            
    if(feed.Type == FeedType.Rss_2_0)
    {
        var rss20feed = (Feeds.Rss20Feed)feed.SpecificFeed;
        Console.WriteLine("Generator: " + rss20feed.Generator);
    }

If the url to the feed is not known, then you can use FeedReader.GetFeedUrlsFromUrl(url) to parse the url from the html webpage:

	string url = "arminreiter.com";
    var urls = FeedReader.GetFeedUrlsFromUrl(url);
            
    string feedUrl;
    if (urls.Count() < 1) // no url - probably the url is already the right feed url
        feedUrl = url;
    else if (urls.Count() == 1)
        feedUrl = urls.First().Url;
    else if (urls.Count() == 2) // if 2 urls, then its usually a feed and a comments feed, so take the first per default
        feedUrl = urls.First().Url;
	else
	{
		// show all urls and let the user select (or take the first or ...)
		// ...
	}

	var feed = FeedReader.Read(feedUrl);
	// ...

The code contains a sample console application: https://github.com/codehollow/FeedReader/tree/master/FeedReader.ConsoleSample

Specifications

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].