How to store a rolling archive of an RSS feed?

Is anyone aware of an existing project that can do something like this:

  • Access an RSS feed.
  • Parse the contents of the items in the feed, and fetch linked images.
  • Take the new feed elements and add them to previously fetched elements.
  • Store all of the content in a merged RSS/XML file, or something like a SQLite DB.

Context: I’d like to archive Mastodon posts of an account automatically. I’d prefer it to be a script/binary I could run on Linux as I’d likely throw it in a GitHub action and save the resulting output in the git repo.

I could probably whip something together but I’m lazy and I’d prefer to use something that already exists.

atheken,

I use miniflux, and you can configure it to modify feed items. As far as I know it does not purge anything by default.

Really, pulling an RSS feed and parsing it, storing stuff is probably 50 lines of bash, and less in a general purpose scripting language.

abhibeckert,

I don’t know of a project that does this, but if I was to tackle it I would convert the RSS to the Activity Streams standard - www.w3.org/TR/activitystreams-core/.

Activity Streams are basically the new RSS and it’s a lot better than RSS.

Mastodon is built on Activity Pub, which is built on Activity Streams - so you shouldn’t even need to touch RSS at all. The AS already exists. You can access it via the API.

Under European laws all services are required to give you a copy of all data associated with your account if you ask for it. And Mastodon being a European product is of course fully compliant. Just go to your profile and hit the “Request your Archive” button. You could do that once a month or something.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • [email protected]
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • Socialism
  • KbinCafe
  • TheResearchGuardian
  • oklahoma
  • feritale
  • SuperSentai
  • KamenRider
  • All magazines