審判ファンの文系SEがFlaskでプロ野球審判出場記録アプリを作る①【Python】
作ろうと思ったきっかけ
こんにちは。noteをまとめようまとめようと思っていながらまとめられませんでした。昨年にSeleniumでNPBの試合詳細画面をスクレイピングしてPandasでCSVファイルに保存するスクリプトを作成しました。今年に入ってから、それをExcelのVBAを使って集計していたものの、物足りなさというかせっかくならこのデータを数少ない審判ファンの同志やマニアックな野球ファンに共有した方がいいのではないか?という思いに駆られたので、7月に会社の上司に相談したところ、「とりあえず掲示板サイトをHTMLとPHPとデータベースで作るところから始めてみては」という助言を頂いたのですが、
「PHP勉強するのがめんどくさい(長期的に見たら逃れられない気がする)」
「掲示板作るのが面白くない。今すぐにでも作りたい!」
「PythonでもFlaskっていうのを使えばアプリが作れるらしい」
となりまして、助言ガン無視でデータベースもHTMLもろくに触ったことがない状態からプロ野球審判出場記録アプリを作成することになりました。
選手はヤフースポーツや色々なサイトで成績や記録をリアルタイムで載せてくれているところなんていくらでもありますが、審判は個人で集計しないと今何試合出ていて、去年は何試合出ていて球審を何回したのか…観戦した日は誰が審判してたかな~なども分からないですし、リアルタイムで集計してくれているところもないのでないならPython勉強してるし自分で作ったるぜ!というのが作ろうと思ったきっかけです。
私について軽く自己紹介
都内の会社で主に検証業務をしている26歳、3年目のSE。プロ野球の審判ファン歴は高校生の時からで10年目になってしまいました。今楽天の寮長をされている中村稔さん的なベテランの風格漂う、落ち着いたジャッジが好き(動画載せとくのでぜひ見てみてください!!手上げてからの間合いがたまらないですねー!)。
好きな判定はセーフオフザバッグ。好きな審判界の用語はバックスイングインターフェアランス。
文系でプログラミングは全くの未経験なところからGEEK JOBで3か月弱javaを勉強して今の会社に転職しました。実務ではあんまりプログラミングは使っていないのですが昨年から会社の研修でデータサイエンティスト育成コースを受講しています。Python学習歴は2年目。まだ大したコードは書けません。
毎日勉強になることが多いのでそれをまとめていけたらよいと思っています。
使うツール
Windows10のPCで作成します。言語はPython。Selenium、Flask等を使います。データベースはsqlite3にしました。こんな感じで取得したデータを入れています。
SQL文は研修でちょっとやって「はは~ん大したことないじゃん」とか思っていたのですがいざデータを引き出す、となると分からないことだらけでパニックになっています。
本当にちゃんと作るのであれば仕様書とか先に書いておくのがベストなんでしょうがSQLと格闘しつつ、こんなデータが引き出せるからページはこうしよう…と行き当たりばったりで作っています。今はHTMLで書かれた簡素なページしか表示できないのでCSSでデザインをどうしようかな~と考える時が来る(また苦悩する)のを楽しみにベースであるところを作っていきます。
今年の出場試合数をオンタイムで集計できているのでシーズン終わる前に公開できればいいな…と漠然と思っていますが間に合うかどうか。初心者はまずこれから作りましょう!みたいなのはなかなかやる気が起きないのですが好きなことなのでやり遂げられるような気がします。楽しみながら勉強していこうと思います。