Yahoo! Pipesを使ってRSSフィードを自分好みにする方法

Pipesでできること

  • RSSフィードの統合
  • キーワード検索や日付などによるフィルタリング
  • たぶんもっといろんなこと

必要なもの

Yahoo.comのアカウント(日本のYahoo.co.jpのアカウントは使えない)(FacebookあるいはGoogleのアカウントは使える)

使い方

Yahoo! Pipesを開いてログイン。

Create PipeあるいはCreate a pipeをクリック。
f:id:puredevice:20121226161926p:plain

この画面が基本。Quartz Composerにそっくりですね。
f:id:puredevice:20121226162658p:plain

基本モジュールの一つ、『Fetch Feed』を右の作業領域にドラッグ&ドロップします。
f:id:puredevice:20121227152842p:plain

『Fetch Feed』などのinputモジュールを何もない状態で配置すると、初回のみoutputモジュールが自動で作成されます。
f:id:puredevice:20121227152931p:plain

各Fetch FeedモジュールのURL欄に購読したいRSSフィードのURLを入力します。今回はNature、Science、Cellの最新号のRSSフィードをそれぞれ使いました。
f:id:puredevice:20121227153013p:plain

また、Fetch Feedモジュール内のプラスアイコンをクリックすることで、同一モジュールで複数のRSSフィードを取得することもできます。今回はCellに加えてCell Host & Microbeのフィードも追加してみました。愛読紙なので。
f:id:puredevice:20121227150809p:plain

RSSフィードの統合にはOperations内のUnionモジュールを使います。モジュールを配置したら、Fetch Feedモジュール下部の白丸をドラッグし、Unionモジュール上部の白丸にドロップします。モジュール下部の白丸はアウトプット、上部の白丸はインプットに対応しているので分かりやすいですね。
f:id:puredevice:20121227151141p:plain

次はFilterモジュールを作成し、先ほど統合したRSSフィードの中からキーワード『genome』をdescriptionに含むフィードのみを抽出します。
f:id:puredevice:20121227151620p:plain

最後にFilterモジュールからPipe Outputモジュールにパイプを繋ぎ、Refreshをクリックして結果を確認します。フィードURLの入力ミスやFilterの設定ミスがない限り、結果が表示されます。
f:id:puredevice:20121227151844p:plain

あとは作成したPipeをSaveすると表示されるRun Pipeをクリックし、
f:id:puredevice:20121227152319p:plain

好きな方法でPipeを通ったRSSフィードを購読すればOKです。
f:id:puredevice:20121227153341p:plain

結論

豊富なモジュールでRSSフィードを自分好みにカスタマイズできる上、webベースで環境に依存しないのがYahoo! Pipesの良いところですね。RSSフィードのグループ化やフィルタリングはGoogle ChromeFirefox拡張機能でもできますが、あくまでもRSSリーダー側の処理なので、様々な環境で同じカスタムRSSを購読したい場合にはPipesが今のところ最強ではないでしょうか。

謝辞

Yahoo!のエンジニアさまに。