はじめに
Suibariです。
日本プロ野球の支配下および育成選手の最新成績を取得できるREST APIを作りました。
これはプロ野球選手名鑑LINE botの副産物です。
本APIは日本プロ野球機構の情報を引用させて頂いています。
使い方
以下URLにアクセスしてみてください。
選手名はクエリパラメータで指定します。
REST APIだとあまり意味ない機能ですが、チーム名と背番号での検索にも対応しています。
返ってくるjsonの構造は以下です。
投手でも同じような感じです。
{
"url":"https://npb.jp//bis/players/13115153.html",
"name":"牧秀悟",
"team":"横浜DeNAベイスターズ",
"no":"2",
"kana":"まき・しゅうご",
"photo_url":"https://p.npb.jp/players_photo/2023/180/db/002_13115153.jpg",
"position":"内野手",
"bt":"右投右打",
"hw":"178cm/95kg",
"birthday":"1998年4月21日",
"career":"松本第一高 - 中央大",
"draft_y":"2020年ドラフト2位",
"stats_2023":{
"game":"143",
"ab":"559",
"h":"164",
"hr":"29",
"rbi":"103",
"sb":"2",
"avg":".293",
"slg":".530",
"obp":".337",
"ops":"0.867"
},
"stats_2022":{
"game":"135",
"ab":"509",
"h":"148",
"hr":"24",
"rbi":"87",
"sb":"3",
"avg":".291",
"slg":".507",
"obp":".354",
"ops":"0.861"
},
"stats_2021":{
"game":"137",
"ab":"487",
"h":"153",
"hr":"22",
"rbi":"71",
"sb":"2",
"avg":".314",
"slg":".534",
"obp":".356",
"ops":"0.89"
},
"stats_total":{
"game":"415",
"ab":"1555",
"h":"465",
"hr":"75",
"rbi":"261",
"sb":"7",
"avg":".299",
"slg":".523",
"obp":".349",
"ops":"0.872"
},
"age":25
}
仕様、制約事項
- NPBのデータを基にしているため、2024年入団選手は現在(2024/2/18)未対応。3月半ば頃対応かも
- 前日までの成績が常に反映されます。更新タイミングは毎日AM3時
- 検索で複数の選手がhitした場合、DB上で先頭の選手1名だけが返ります
おわりに、問題性の自分なりの解釈
冒頭で述べた通り、このAPI(とLINE bot)はNPBサイトをスクレイピングして、その情報を返しています。
このためNPBサイトにある無断転載禁止規約には引っかかりうると思います。
そこについて自分の解釈を説明します。
- 単なる引用だけでなく、NPBサイトにない指標を計算して送信しており、「情報解析」が目的。著作権法は情報解析目的以外で情報を利用した時に問われる。
- スクレイピングは間隔を空けて実行しており、サイトに与える影響はない
- 影響力あるアプリやAPIならともかく、ユーザ数が少なく今後上がる見込みもない
- 4年間本botを運営しているがアクセス制限など措置や問い合わせなどのトラブルはなかった
とはいえ、NPB様から連絡が来た場合にはAPIおよびbotは速やかに停止する所存です。
自分は野球が大好きで、データを共有してみんなで楽しみたいだけで、誰かに迷惑をかけてまでやるつもりはありません。
記事を見た方でもコメントがありましたらぜひお願いします。