iPhoneのTop10アプリをRSS配信するpipesを作ってみた

2008-10-23 14:36:14

Yahoo! pipes は、本当に手軽で面白いですね。ぼくのようなサンデープログラマーでも、たった1日でスクレイピング→RSS配信までのある程度のことが出来てしまいました。

ただ出来ることに制約があるので、どうやって実現するかの部分は、公開されている様々なpipesのソースを参考にさせていただきました。

成果物

アップルのサイトで公開されているAppStoreのトップ10をRSS配信する

無料アプリトップ10
http://pipes.yahoo.com/lanikai/appstorefreetop10?_render=rss

有料アプリトップ10
http://pipes.yahoo.com/lanikai/appstorepaidtop10?_render=rss

新着アプリトップ10
http://pipes.yahoo.com/lanikai/appstorenewtop10?_render=rss

ソースはこちらで。
http://pipes.yahoo.com/lanikai

苦労した点

トップ10を取得するために10個のhtmlを取得するところ。
URLが順位の数字入り個別htmlなので、どうしようかと。
単純に各ページを読もうとすると、ソースは5つまでという制約に引っかかってしまうのですが、pipesには整数値でのforeachとかないので、String tokenizerとLoopの合わせ技で実現しました。ソースはこんな感じです。


正規表現は便利だけど難しい

正規表現は本当に便利ですよね。でも普段から使い慣れていないと、結構苦労します。一番時間がかかったのは、取得したページから何を残して何を削るかという正規表現なんですが、どこが間違っていてどこまで合っているのかがつかみづらい為、本当に苦労しました。

今後のアップデート

配信されている10個のアイテムの最初が1位で最後が10位なわけですが、順位が明記されているわけではないのでわかりずらいですよね。取得日時と順位がわかるようにしたいですねえ。でもどうやって(笑) また元のhtmlにはアイコンとスクリーンショットがありますので、これは正規表現を工夫することで表示されるようにしたいと思います。

そのほか

ソースのURL builderのベースをほんの少し変更するだけで、 アップルのサイトで公開されている他のジャンルのトップ10(ゲーム有料、ビジネス、ライフスタイルなどなど)も取得可能です。

追記

アイコンとスクリーンショットの配信と、有料ゲーム・無料ゲームの配信に対応しました。-> iPhoneのトップ10アプリRSSのpipes その2

 

 

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]