muumoo.jp


ニュース記事検索


過去ログ 2007年04月20日 - ニュース過去ログ

ニュース過去ログ

2007/04/20 管理人日記 Twitterで自分に@された発言だけが入ったRSSを取得するアプリをYahoo! Pipesで作った (管理人日記)

いろいろあって公開が遅れたけど、Twitter関連で新しいアプリを作った。Yahoo! Pipesです。

その名も、Twitter@Pipe(仮称)。「その名も」といいつつ仮称でごめん。

Twitter@Pipe(仮称)とは

Usernameを指定すると、その人が最近@されたログだけを抽出します。

例えば「poolmmjp」を指定したら、http://twitter.com/poolmmjpから「@poolmmjp」が含まれるログだけが抽出されるわけです。

なぜ作ったか

自分が@されたのを見逃さないにはどうしたらいいかをずっと考えてました。簡単なのは、Plaggerで自分のRSSをチェックして@されたものだけをケータイにメールする方法などがありそう。

でもPlaggerだといろいろ敷居が高いので、すでに導入してる人以外は手軽にってわけにもいかないかと思い、別な方法を考えてました。

そこでYahoo! Pipesを使ってみることに。で、作った。

使い方

Twitter@Pipe(仮称)の画面自分のTwitterのUsernameを入れるだけですぐ使えます。別にYahoo!のアカウントが必要とかはありません。

最終的にRSSで出力されます。そのRSSをどうにかして自分が検知できるようにすればいい。

GmailがRSSを巡回してくれたらいいのに

前々からすごい願っていたことをついでに書いてしまいますが、GmailがRSSを巡回してくれたらいいのにと思う。

ThunderbirdのRSS購読機能のようなイメージ。RSSを定期的に受信して、メールのように読める。あとから検索もできる。そして何より、Gmailのフィルタ機能が適用される。

そうすれば、RSSを受信して条件に応じてケータイにメール転送するようなことが、Plaggerを使わずにできるようになりますからね。

ソースと流れ

Twitter@Pipeの構成の説明は以下。

  1. Usernameを入力(Text Input)
  2. 入力されたUsernameに「.xml」を追加(String Concatenate)
  3. それを元にfriends_timelineをxmlで取得するAPIのURLを作成(URL Builder)
  4. xmlデータを取得し、xml内のstatus要素を1件分のデータと見なす(Fetch Data)
  5. 入力されたUsernameに「@」を追加(String Concatenate)
  6. それを含むxmlデータだけを抽出する(Filter)
  7. xmlのtext要素の (.*)${user.screen_name} : $1 に正規表現置換(Regex)
  8. xmlのid要素の (.*)http://twitter.com/${user.screen_name}/statuses/$1 に正規表現置換(Regex)
  9. xmlのcreated_atの降順でソート(Sort)
  10. text要素をtitle要素としてコピー(Rename)
  11. text要素をdescription要素にリネーム(Rename)
  12. created_at要素をpubDate要素にリネーム(Rename)
  13. id要素をlink要素にリネーム(Rename)

こんな感じ。わかりにくいですね。ポイントは以下のとおり。

Yahoo! Pipesは、Regexを導入したことでかなりいろんなことができるようになった。今回は使ってないけど、Regexで条件に応じてフラグを立ててFilterとかで分岐したりできる。

注意点

APIで取得したxmlに含まれるデータから抽出しますので、最新20件の中からの抽出になります。

つまり、最新20件の中に@された発言が無いと、抽出できません。Friendsが多い人は、おそらく20件なんてすぐ流れてしまうと思います。

正直、どうしようもない。TwitterのAPIが、2ページ目以降を取得する方法を提供してないんだもん(sinceで日時を渡せるらしいけど、そんなのどう使えばいいのさ)。

なので、Web型のRSSリーダーなどでは、取りこぼしが多いと思います。Plagger等でかなり頻繁にアクセスしないとダメかも。

この辺は今後の課題。

[追記]似たようなやつがあった

Yahoo! Pipesを検索してみたところ、似たような「Twitters @you」というのがありました。

といった違いがあるようです。まあ好きな方を使えば良いかと。

念のため言っておくと、パクったわけじゃないです。名前もすごい似てるけど。

この記事のURI:
http://muumoo.jp/news/2007/04/20/0twitteratpipe.html


Copyright© 2002-2007 muumoo.jp All Rights Reserved.