All Projects → RobertMyles → tidyRSS

RobertMyles / tidyRSS

Licence: other
An R package for extracting 'tidy' data frames from RSS, Atom, JSON and geoRSS feeds

Programming Languages

r
7636 projects
HTML
75241 projects

Projects that are alternatives of or similar to tidyRSS

Rss Bridge
The RSS feed for websites missing it
Stars: ✭ 4,067 (+6459.68%)
Mutual labels:  rss, rss-feed, atom-feed, json-feed
Gofeed
Parse RSS, Atom and JSON feeds in Go
Stars: ✭ 1,762 (+2741.94%)
Mutual labels:  rss, rss-feed, atom-feed, jsonfeed
reader
A Python feed reader library.
Stars: ✭ 290 (+367.74%)
Mutual labels:  rss, rss-feed, atom-feed, json-feed
json-feed-viewer
The world's first JSON feed viewer 🥇
Stars: ✭ 40 (-35.48%)
Mutual labels:  rss, json-feed, jsonfeed
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 (+256.45%)
Mutual labels:  rss, rss-feed, atom-feed
vue-rss-feed
Embed RSS Feeds in your Vue web app
Stars: ✭ 37 (-40.32%)
Mutual labels:  rss, rss-feed, rss-parser
arsse
The clean & modern RSS server that doesn't give you any crap. Mirror of main repository at https://code.mensbeam.com/MensBeam/arsse. Please direct your issues there.
Stars: ✭ 15 (-75.81%)
Mutual labels:  rss, rss-feed, atom-feed
feed-nim
A feed parsing module for Nim
Stars: ✭ 21 (-66.13%)
Mutual labels:  rss, atom-feed, jsonfeed
Feedjira
A feed parsing library
Stars: ✭ 2,017 (+3153.23%)
Mutual labels:  rss, rss-parser
Hackershare
Hackershare is a powerful social bookmarking service and a knowledge-sharing community, with advanced search and tag management feature
Stars: ✭ 178 (+187.1%)
Mutual labels:  rss, rss-feed
ttrss ynh
Tiny Tiny RSS package for YunoHost
Stars: ✭ 17 (-72.58%)
Mutual labels:  rss, rss-feed
Blogetc
Easily add a full Laravel blog (with built in admin panel and public views) to your laravel project with this simple package.
Stars: ✭ 198 (+219.35%)
Mutual labels:  rss, rss-feed
Dato.rss
The best RSS Search experience you can find
Stars: ✭ 122 (+96.77%)
Mutual labels:  rss, rss-feed
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: ✭ 180 (+190.32%)
Mutual labels:  rss, rss-feed
Telegram Robot Rss
A clean and easy to use RSS Newsfeed Bot for fabulous Telegram Messenger App! 🤖 ✉️ ❤️
Stars: ✭ 120 (+93.55%)
Mutual labels:  rss, rss-feed
Gorss
Go Terminal Feed Reader
Stars: ✭ 191 (+208.06%)
Mutual labels:  rss, rss-feed
Feedbag
Ruby's favorite feed auto-discovery library/tool
Stars: ✭ 115 (+85.48%)
Mutual labels:  rss, rss-feed
Xity Starter
A blog-ready 11ty starter based on PostCSS, with RSS feed and Native Elements!
Stars: ✭ 184 (+196.77%)
Mutual labels:  rss, rss-feed
vuepress-plugin-feed
RSS, Atom, and JSON feeds generator plugin for VuePress 1.x
Stars: ✭ 46 (-25.81%)
Mutual labels:  rss, json-feed
goeland
An alternative to rss2email written in golang with many filters
Stars: ✭ 78 (+25.81%)
Mutual labels:  rss, rss-feed

tidyRSS

CRAN_Status_Badge CRAN_Download_Badge CRAN_Download_Badge R-CMD-check Codecov test coverage

tidyRSS is a package for extracting data from RSS feeds, including Atom feeds and JSON feeds. For geo-type feeds, see the section on changes in version 2 below, or jump directly to tidygeoRSS, which is designed for that purpose.

It is easy to use as it only has one function, tidyfeed(), which takes five arguments:

  • the url of the feed;
  • a logical flag for whether you want the feed returned as a tibble or a list containing two tibbles;
  • a logical flag for whether you want HTML tags removed from columns in the dataframe;
  • a config list that is passed off to httr::GET();
  • and a parse_dates argument, a logical flag, which will attempt to parse dates if TRUE (see below).

If parse_dates is TRUE, tidyfeed() will attempt to parse dates using the anytime package. Note that this removes some lower-level control that you may wish to retain over how dates are parsed. See this issue for an example.

Installation

It can be installed directly from CRAN with:

install.packages("tidyRSS")

The development version can be installed from GitHub with the remotes package:

remotes::install_github("robertmyles/tidyrss")

Usage

Here is how you can get the contents of the R Journal:

library(tidyRSS)

tidyfeed("http://journal.r-project.org/rss.atom")

Changes in version 2.0.0

The biggest change in version 2 is that tidyRSS no longer attempts to parse geo-type feeds into sf tibbles. This functionality has been moved to tidygeoRSS.

Issues

XML feeds can be finicky things, if you find one that doesn’t work with tidyfeed(), feel free to create an issue with the url of the feed that you are trying. Pull Requests are welcome if you’d like to try and fix it yourself. For older RSS feeds, some fields will almost never be ‘clean’, that is, they will contain things like newlines (\n) or extra quote marks. Cleaning these in a generic way is more or less impossible so I suggest you use stringr, strex and/or tools from base R such as gsub to clean these. This will mainly affect the item_description column of a parsed RSS feed, and will not often affect Atom feeds (and should never be a problem with JSON).

Related

There are two other related packages that I’m aware of:

In comparison to feedeR, tidyRSS returns more information from the RSS feed (if it exists), and development on rss seems to have stopped some time ago.

Other

For the schemas used to develop the parsers in this package, see:

I’ve implemented most of the items in the schemas above. The following are not yet implemented:

Atom meta info:

  • contributor, generator, logo, subtitle

Rss meta info:

  • cloud
  • image
  • textInput
  • skipHours
  • skipDays
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].