better-podcast-parser

0.2.0 • Public • Published

Better Podcast Parser

A fully-featured podcast parser. Built for Podrain but can be used in Node or the browser.

Repo

https://github.com/podrain/better-podcast-parser

Features

There are a couple of features that help this library stand out:

  • Fetch a feed by URL, or just parse XML string directly
  • Supports paged feeds as per RFC 5005

Installation

## NPM
npm install --save better-podcast-parser

# Yarn
yarn add better-podcast-parser

Usage

The functions used return Promises. You can fetch a feed by URL or parse an XML string directly.

Options

getAllPages

Whether to recursively fetch all pages in a paginated feed. Defaults to false.

proxyURL

If you are pulling a feed from a web browser, you will likely need a proxy server to avoid CORS when fetching feeds. Not likely needed for server-side fetching with Node. Of course, the proxy URL will be prepended to the feed URL. Defaults to an empty string.

import feedParser from 'better-podcast-parser'

// Options
let options = {
    getAllPages: true, 
    proxyURL: 'https://cors-anywhere.herokuapp.com/'
}

// Parsing a feed at a given URL
feedParser.parseURL('https://changelog.com/gotime/feed', options).then(jsonResult => {
    // jsonResult is the JSON payload
})

// Parsing a feed from an XML string
feedParser.parseFeed(xmlString, options).then(jsonResult => {
     // jsonResult is the JSON payload
})

Todo

  • Add some kind of error checking if a feed string or URL is bad

Readme

Keywords

none

Package Sidebar

Install

npm i better-podcast-parser

Weekly Downloads

5

Version

0.2.0

License

MIT

Unpacked Size

10.9 kB

Total Files

4

Last publish

Collaborators

  • jcs224