fuuri.net

Home > やってみた > Yahoo!pipesがすっごく面白かったの。<その2>

2009年4月22日

Yahoo!pipesがすっごく面白かったの。<その2>

Category:[ やってみた ] Tag:[ | | ]

その1の続きです。とりあえずRSSをまとめて出力はできたけど、ここからさらに並び替えをしようと思って、設計画面に戻ってきましたが、ここでちょっと欲が出てきました。できれば、並び替え以外にこんなこともしたい!

  • それぞれのフィードのタイトルの最初に、それぞれのサイト名を入れたい。[Twitter]とか、[fuuri.net]とか。
  • Twitterのつぶやきは、「@」がついた発言は外したい。

できるのかそんなこと??と思いつつ、ちょっとがんばってみることにしました。

並べ替えをするには?

このあたりからちょっと感覚つかめてきました。多分、「Fetch Feeds」と「output pipe」との間に、「並び替えをしてね」moduleを入れて、パイプをつなげばいいんです。

さて、「並び替えをしてね」moduleはどれだ?左に並んだmoduleをいろいろ見て……「Operators」の中にあった!「Sort」!きっとこれ!多分「Operators」ってのが、「Sources」にあるデータをごにょごにょするmoduleなんだよね。うん。ということで、さっそくドラッグ。

ypipes101

出てきた。うんうん、どうやって並べるかを指定できるみたいだ。ascendingは昇順(古い順)だから、きっと、その逆のdescending にすればいいんだよね。左の枠の▼をクリックすると、なんか出てきた。なんだかよくわからんけど、とりあえず日付に関するのは「pubDate」だけのようだったのでそれを選択。

これで、「Fetch Feed」の下の丸から、「Sort」の上の丸にパイプをつないで、「Sort」の下の丸から「pipe output」の上の丸にもパイプをつないでみた。なーんかレイアウトが美しくないなーとドラッグして調整をしてたら、左上の「layout」を押すと、レイアウトを綺麗に並びなおしてくれるのを発見!これはよいよい。

ypipes111

出力結果を見てみると、今の時点で一番最新である、私たちのTwitterのつぶやきがミックスされて表示された!OKOK!念のためSave→Runもやってみたけど大丈夫だった!

※ちょこっと注意:このサービス、時々気まぐれで出力に失敗したり、前の出力結果が出てしまったりとかします。もう一度やるとうまくいったりするので、諦めずにやってみてください。3回やって間違ってたら、ほんとに自分が間違ってるのかも、くらいな感じで思っておいたほうがいいかもしれないです。

ypipes12

サイトごとに処理を変える、ということは…

このあとやりたいのが、

  • それぞれのフィードのタイトルの最初に、それぞれのサイト名を入れたい。[Twitter]とか、[fuuri.net]とか。
  • Twitterのつぶやきは、「@」がついた発言は外したい。

なわけなんですけど、これって両方とも「サイトごとの処理」なんですよね。ということはですよ。「Fetch Feed」で全部をまとめてたら、それぞれの処理ができなくなっちゃうじゃん!
ということはつまり、

  • 「Fetch Feed」をそれぞれのサイト分用意
  • それぞれのサイト用の処理をする
  • それをまとめてからソート

という処理が必要になるわけです。

えーと……複数の「Fetch Feed」をまとめるのって、どうすればいいんだ???きっと、そういうmoduleがあるんだ。きっとあるにちがいない。いろいろ試行錯誤しました。ここはちょっと時間食いましたが、見つけました。「Union」。連合ですよ!いろんな処理をした複数のソースをまとめるためのmoduleです。ここまでをまとめてやったものが、↓です。

ypipes13

Unionは、5つのパイプまでを処理できます。今回は偶然5つで足りたけど、もし6つ以上になったら、5つ分のUnionと、それ以外のUnionをUnionでつなげたりしても大丈夫みたい。よくできてます。
……ほら、これだったら、「Fetch Feed」と「Union」の間にそれぞれのサイト用の処理を入れれば大丈夫そうじゃないっすか!このあたりからなんか楽しくなってきました。

ということで、<その3>に続きます。

この記事のトラックバックURL

コメントをどうぞ!

Copyright 2008 Mayuko "fuuri" Fujikawa. All rights reserved.