京都市バスの路線別 停留所取得API公開

今回も Pipes ネタ。例によって Fetch Page モジュール。今まで「Page Fetch」だと勘違いしてたが、どうやら「Fetch Page」だったらしい。あちゃー。

で、本題。京都市バスの路線別 停留所 API を Yahoo! Pipes で作ってみた

サンプル作ってみた

この Pipes を使ったサンプルを作ってみた。→ 京都バス案内 (デモ)

  • 左の系統一覧を選択したら、右側に詳細が出る。
  • 停留所をクリックしたら時刻表が表示される。

JavaScript+jQuery+JSONP で実装してるよ。

そのまんまだけど、API 使ってる気分になってきた。

すごくない?

絶対に API を公開しそうにない京都市交通局の HTML を使って、外部の人間が勝手に API 化しちゃってるわけですよ。

Web 1.0 なページを、無理やり Web 2.0 化ですよ。なんでもかんでもマッシュアップですよ。

Yahoo! Pipes なので、もれなく JSONP にも対応、crossdomain.xml にも対応、RSS 出力にも対応、Yahoo! だからそこそこ信頼性ある、などなど申し分ないスペック。

自分でサーバー側のスクリプト書くと、動かなくなったらどうしようとか、負荷分散はどうしようとか、ディスクいっぱいになったらどうしようとか、無駄に心配することが増えるけど、そういうストレスからも開放。

自分はサーバーサイドを考えずに、クライアント側に注力したい人間なので、Yahoo! Pipes は楽しいサービスなのです。あと、落ちてたら Yahoo! のせいにできるし…(笑)

仕組み

まあ、詳しくはソースを見てもらうとして、簡単に概要を説明。

まず、入力された系統番号から京都市交通局の URL を構築する。17号系統なら http://www.city.kyoto.jp/kotsu/busdia/keitou/kto/017.htm といった具合。

この URL に対して Fetch Page モジュールで取得して、正規表現でごにょごにょっと RSS を作り上げる。

結果、こんな RSS になるわけです。

最寄の観光地の情報が含まれてるのが京都っぽいですね。