4
votes

I'm trying to find a way to split a single RSS feed into separate feeds based on keyword matches.

Yahoo Pipes was my first thought, but I couldn't find a way to do it. Although Pipes has a split module, there is only one output module available for any pipe. So I can't see how I would ever get more than one feed from a pipe.

The whole point in doing this is to make a single dense feed much more manageable in Google Reader. (Hey Google: How about some Gmail-style filters?!)

[Clarification Start]

I envisioned a main feed coming in and then filters building 'sub-feeds' based on certain keywords. The catch is that I would subscribe to both the filtered main feed and the 'sub-feeds.' The filters decrease the number of items in the main feed. They are 'filtered off.' I would subscribe to the filtered main feed in order to watch for other sub-feeds that need to be pulled off in the future.

The main issue with setting up separate Pipes is that I would need to maintain filters for each sub-feed and then I would also have to duplicate those filters to apply the whole set to the main feed. It's doable, but not ideal. I may not have any other option.

[Clarification End]

My second thought was to possibly use Pipes to apply tags to the feed items hoping that Google Reader would honor those tags. This doesn't seem possibly either.

I took a look at MagpieRSS and Simplepie to consider rolling my own solution. I found plenty of documentation for merging feeds, but nothing along the lines of splitting feeds. My skills are pretty basic, so without a pretty specific tutorial, this may be out of my league.

If anyone has ideas, I'd be grateful. Thanks.

2

2 Answers

3
votes

You can do it with pipes. Instead of being 1 big pipe, create several distinct pipes and filter by different keywords in each pipe.

1
votes

Sadly, you can only get one feed out of one pipe.

Another option might be to have one main pipe for now, and use this to tag the elements by which sub-pipe you would expect them to go to.

You could then subscribe to your main pipe in sub-pipes and filter by keyword. This would keep minimal logic in the duplicate sub-pipes.