YQLで複数ブログのRSSをJSONで取得して、新着として表示する
前に単独のRSSを取得する方法を書いたけど、複数取得を書くのをすっかりわすれていたので。
簡単なのでYQLだけ。ついでに日付順になるようsortも。
select * from rss where url = 'http://d.hatena.ne.jp/yuichi_katahira/rss' or url='http://blog.livedoor.jp/katahirado/index.rdf' | sort(field="date",descending="true");
なお、RSS2.0を混ぜると、日付はpubDateになり、RSS1.0のdate(dc:date)とは異なるので、YQLの結果だけで日付順にするのは無理かと。
あと、Atom,Feed0.3なんかもまぜようとすると、from句をrssからxmlにしないと当然取れない。
で、XMLにした場合は、取れる結果が、各ブログの記事が要素になったフラットな配列ではなく、各ブログのfeedが要素になった結果が返ってくるので、自前で少し加工する必要がある。