読者です 読者をやめる 読者になる 読者になる

Yahoo! Pipes でOPMLを読み込んで時系列で出力

g91 の方でメンバのブログ(90人ぐらい)をまとめたOPMLを作ってたりしたんですが(手動)、これをtwitterでつぶやくBOTつくれないかな、とかいろいろ模索してたんです。
そこで気づいたんですが、ほとんどのRSStwitterでつぶやくサービスはフィードを一件ずつしか読み込めない。当然OPMLなんて読んでくれないわけなんです。でも全部(90件ぐらい)手動で登録するなんて嫌だな〜。単純作業はプログラマの美学に反するわけです。でも自前のサーバもないし、車輪の再開発もしたくないし、どうするかなと。

思いついたのが
OPMLの各フィードをまとめたフィード→フィードつぶやきサービス→BOT
ってやればいいんじゃないのということ。
幸いにもGoogleReaderでつくったパッケージ
http://www.google.com/reader/bundle/user%2F09912100507202791450%2Fbundle%2Fg91blog
Atomフィードを吐いていることを発見したのでtwitterFeedっていうつぶやきサービスに登録してみる。
しばらく待つとつぶやくのだけどなんか調子悪い。ボロボロ歯抜けしてる。よく調べるとかなりの確率でtwitterFeedがAtomフィードの取得に失敗してる。どうやらフィードが動的に作成されるため、時間がかかったりしてうまくいかない模様。


別の方法でフィードを作成してみることにした。
Yahoo! Pipesを使ってみる。しばらく悪戦苦闘して完成。g91だけじゃなくて好きなOPMLを読み込ませることができるようになりました。
http://pipes.yahoo.com/pipes/pipe.info?_id=adc78966af58048128618f6ba607d9f1

でもぜんぜん使い物にならなかったorz
リクエストを受けたとき、

  • OPMLに含まれるフィードを読みにいくところから始めるからGoogleReaderのやつ以上に時間がかかる→タイムアウト
  • 大量にアクセスするため、d.hatena.ne.jpあたりから「トラフィック多いんだよヴォケ」とか怒られて503, 403エラー連発

で、しょうがないからtwitterFeedにどっちも読みにいかせて、もし読み込めたらつぶやいてね、って感じにしてます。当然超不安定。
ついでに言うとtwitterFeedは一回の更新(30分に1回)で5件しかつぶやけないから書き込みが多い時間はどの道歯抜けとかorz

安定させるいい案があったら教えてください