Hi HN! While working on a project that involves frequently parsing a lot of feeds, I needed a fast JavaScript-based parser to extract specific fields from feed namespaces. Existing Node packages were either too slow or merged all feed formats, losing namespace information. So I decided to write it myself and created this NPM package with a simple API.<p>Feedsmith supports all feed formats and many popular namespaces, including: Podcast, Media, iTunes, Dublin Core, and more. It can also parse and generate OPML files.<p>I am currently adding support for more namespaces and feed generation for RSS, Atom and RDF. The library grew into something bigger than I initially anticipated, so I also started creating a dedicated documentation website to describe all the features.
Great job! I'm the creator of RSSHub (<a href="https://github.com/DIYgod/RSSHub">https://github.com/DIYgod/RSSHub</a>) and Folo (<a href="https://github.com/RSSNext/Folo">https://github.com/RSSNext/Folo</a>), I previously used rss-parser and encountered some issues, feedsmith has features that interest me, I'll give it a try!
Nice project! Good job!<p>Now somebody might also find interesting what I have done.<p>- I decided that implementing RSS reader for 100x time is really stupid, so naturally I wrote my own [0]<p>- my RSS reader is in form of API [1], which I use for crawling<p>- can be installed via docker. User has to only parse JSON via API. No need to use requests, browsers, status codes<p>- my weapon of choice is python. There is python feedparser package, but I had problems in using in parallel, because some XML shenanigans, errors<p>- my reader, serves crawling purpose, so I am interested in most basic elements, like thumbnails, so all nuance from RSS is lost<p>- detects feeds from sites automatically<p>Links<p>[0] <a href="https://github.com/rumca-js/crawler-buddy/blob/main/src/webtools/feedreader.py">https://github.com/rumca-js/crawler-buddy/blob/main/src/webt...</a><p>[1] <a href="https://github.com/rumca-js/crawler-buddy">https://github.com/rumca-js/crawler-buddy</a>