Botchというプロ野球のAPIを作った

前から作りたかったプロ野球のスコアを配信するAPIを作った。

BotchAPI - GitHub

使い方

GET http://botch.herokuapp.com/v0/scores/20150615

みたいな感じでリクエストを投げるとJSON形式で試合情報が返ってくる。

{"data": [
  {
    "info":{"start":"18:00","inning":"yet"},
    "home":{"team":"YS","score":"-"},
    "away":{"team":"M","score":"-"}
  }]
}

取れる情報は、以下の様な感じ。

そこそこリアルタイム性のあるデータが返ってくる(はず)

技術的な話

Express4+MongoDBで作ってHerokuでデプロイした。

作った機能は主に2つ。
1つ目は、20秒毎にYahooからデータをスクレイピングしてきてMongoDBに突っ込む機能
2つ目は、普通にリクエストに対してMongoDBからデータを引っ張ってきてJSON形式でレスポンスを返す機能

MongoDBに慣れるのに少し時間がかかったけどわりと簡単にできた。

法律的な話

一応自分なりにスクレイピングの法律周りの話を探ってみたけど、まあ大丈夫だろうみたいな結論に至った。

以下、参考にしたサイト

でもYahooに怒られたらやめようと思ってる。

(どうでもいいけど、今Yahooのインターン申し込んでるので下手するとこの記事を読まれてしまう可能性があったりして若干辛さがある)

今後

まだまだβ版なので改善すべき点がいっぱいあるし、そもそもAPIの使い方を説明したドキュメントが存在してないし、少しずつなんとかしていきたい。

将来的にはこのAPIを使用したアプリなどが出てくれば嬉しいなと思ってる。
というか時間あれば作りたいなと思ってる。

β版でも使いたいとか、とりあえず試してみたいけど詳しいこと教えれとかあれば答えますので@p1ch_jpまでどうぞ。