views:

109

answers:

2

I want to pull feeds for multiple online services (e.g. Tumblr, Google Reader, Delicious) and aggregate them into a single feed to display on my site. I know of services like YQL or Yahoo! Pipes which will combine feeds, but sometimes those services are too slow. I was wondering what the best method would be if I wanted to run this on my own server (using JavaScript or PHP)? Ideally, I would cache the results to cut down on processing.

+1  A: 

I'd say that remote services like google feed api work perfectly and I doubt your own implementation will be any better that Google's?

With the Feed API, you can download any public Atom, RSS, or Media RSS feed using only JavaScript, so you can easily mash up feeds with your content and other APIs like the Google Maps API.

If you really want to do it on your own server, you could use libs like simplepie

marcgg
Would you recommend SimplePie over something like Magpie? magpierss.sourceforge.net
Keith
+1  A: 

This answer doesn't actually solve the programming question here, but: You already mentioned Google Reader in there, but in my opinion, Google Reader itself would be quite useful as an aggregator for all your personal feeds you are using. Delicious, Tumblr and others all provide RSS feed for easy use in Google Reader, and Google Reader, with it's RSS feed itself, can be used by offline RSS feed readers. As Google Reader is querying pages pretty much live, it wouldn't be that that slow.

JavaScript, as I see it, wouldn't work unless you actually open your site in the browser. Using JS and PHP doesn't seem to solve your "Too slow" problem, it might actually add up to it. You might need an additional service on your server to run in the background (using Perl, Python, Java, anything with a good XML API), but I wouldn't recommend PHP or JS for acquiring Data.

hope that helped somehow

private_meta
Thanks. Good point about aggregating everything in Google Reader! I only mention JS and PHP because those are the languages I know. Do you have any examples for doing this with Perl or Java?
Keith
You can view this link, it includes an RSS libraryhttp://java-source.net/open-source/rss-rdf-toolsApart from that you can use any XML Parser, as RSS is just plain XMLhttp://www.cafeconleche.org/books/xmljava/chapters/(Sorry for taking so long, I was gone for a couple of days)
private_meta