京都市バスの路線別 停留所取得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 になるわけです。
最寄の観光地の情報が含まれてるのが京都っぽいですね。