node-podcast-parser
Parses a podcast RSS feed and returns easy to use object
Output format
Takes an opinionated view on what should be included so not everything is. The goal is to have the result be as normalized as possible across multiple feeds.
Installation
yarn add node-podcast-parser
Usage
const parsePodcast = ; ;
Parsing a remote feed
node-podcast-parser
only takes care of the parsing itself, you'll need to download the feed first yourself.
Download the feed however you want, for instance using request
Example:
const request = ;const parsePodcast = ; ;
Testing
yarn installyarn run test
Test coverage
yarn installyarn run cover
Special notes
Language
A lot of podcasts have the language set something like en
.
The spec requires the language to be ISO 639 so it will be convered to en-us
.
A non-English language will be lang-lang
such as de-de
.
The language is always lowercase.
Cleanup
Most content is left as it is but whitespace at beginning and end of strings is trimmed.
Missing properties
Unfortunately not all podcasts contain all properties. If so they are simply ommited from the output.
These properties include:
- feed TTL
- episode categories
- episode image
- etc
Episode categories are included as an empty array if the podcast doesn't contain any categories.
Generic RSS feeds
This module is specifically aimed at parsing RSS feeds and doesn't cater for more generic feeds from blogs etc.
Use node-feedparser