
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
node-podcast-parser
Advanced tools
Parses a podcast RSS feed and returns easy to use object
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.
{
"title": "<Podcast title>",
"description": {
"short": "<Podcast subtitle>",
"long": "<Podcast description>"
},
"link": "<Podcast link (usually website for podcast)>",
"image": "<Podcast image>",
"language": "<ISO 639 language>",
"copyright": "<Podcast copyright>",
"updated": "<pubDate or latest episode pubDate>",
"explicit": "<Podcast is explicit, true/false>",
"categories": [
"Category>Subcategory"
],
"author": "<Author name>",
"owner": {
"name": "<Owner name>",
"email": "<Owner email>"
},
"episodes": [
{
"guid": "<Unique id>",
"title": "<Episode title>",
"description": "<Episode description>",
"explicit": "<Episode is is explicit, true/false>",
"image": "<Episode image>",
"published": "<date>",
"duration": 120,
"categories": [
"Category"
],
"enclosure": {
"filesize": 5650889,
"type": "audio/mpeg",
"url": "<mp3 file>"
}
}
]
}
yarn add node-podcast-parser
const parsePodcast = require('node-podcast-parser');
parsePodcast('<podcast xml>', (err, data) => {
if (err) {
console.error(err);
return;
}
// data looks like the format above
console.log(data);
});
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 = require('request');
const parsePodcast = require('node-podcast-parser');
request('<podcast url>', (err, res, data) => {
if (err) {
console.error('Network error', err);
return;
}
parsePodcast(data, (err, data) => {
if (err) {
console.error('Parsing error', err);
return;
}
console.log(data);
});
});
yarn install
yarn run test
yarn install
yarn run cover
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.
Most content is left as it is but whitespace at beginning and end of strings is trimmed.
Unfortunately not all podcasts contain all properties. If so they are simply ommited from the output.
These properties include:
Episode categories are included as an empty array if the podcast doesn't contain any categories.
This module is specifically aimed at parsing RSS feeds and doesn't cater for more generic feeds from blogs etc.
Use node-feedparser
FAQs
Parse podcast feeds into objects
The npm package node-podcast-parser receives a total of 22 weekly downloads. As such, node-podcast-parser popularity was classified as not popular.
We found that node-podcast-parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.