Flickrのキーワード検索の結果の新着順のフィード

Flickrの検索結果を定期的に監視しようと思ったのに、どうやらFlickrは検索結果のフィードを配信してないらしい。

毎日Flickrのサイトで検索して結果を確認するのはどう考えても面倒なので、なんとかフィードにしてRSSリーダーで読みたい。Flickr APIを使えばできそうだけど、API Keyとかメンドイ。

そこで、またまたYahoo! Pipesで作ってみた。

検索キーワードを入力すると、Flickrの検索結果が新着順で返される。

使い方の例

こんな風に検索して、あとはフィードをRSSリーダーで購読すればおk。気になる地域でも、好きなアイドルでも、キレイな花の名前でも、検索してフィードを購読することで新着写真を逃さず見れるので楽しい。

Flickrモジュールは新着順じゃないのでスクレイピングした

Yahoo! PipesにはFlickrモジュールってのがあって、キーワードを渡すとFlickrの検索結果が返されるモジュールがある。これを使えば簡単に作れるかなーと思ったんだけど、これはどうやら新着順じゃないっぽい(検索キーワードとの適合度の順?)。

欲しかったのはRSSリーダーで定期的に読むためのフィードなので、新着順じゃないと困る。なので、Yahoo! Pipesに最初から入ってるFlickrモジュールを使うのはあきらめて、こないだImpress Watch Videoのフィードを作ったときのようにスクレイピングでやることにした。渡された検索キーワードを元にFlickrのサイトの検索結果ページのURLを組み立てて、それをFetch Pageモジュールでスクレイピング。取得したhtmlソースを元に正規表現でがんばってフィードに変換。これで完成。

ついでに、サムネイルサイズの画像のURLを、通常サイズのものに直しておいた。RSSリーダーでサムネイルが出ても嬉しくないからね。URL末尾の「_m.jpg」を「.jpg」に置換するだけ。