Pythonで始めるプロ野球データの取得方法~特定の選手情報をWebスクレイピングで取得してみよう①事前準備編
はじめに
二年前に「データで楽しむプロ野球の作り方」というテーマで実際に私が使用している技術(VisulaBasic、SQLServer、HTML、CSS、Javascript)でサイト制作が学習できるようなコンテンツを執筆していました。しかし、以下の理由で執筆を途中に辞めてしまいました。
理由1:VisualBasicは不人気技術ではないが、現代では需要が少なく、将来性が低い。
上記のサイトから人気のプログラミングを見てみるとVisualBasicは6位となっています。
人気がないわけではなのですが、以下のサイトを見ると、
※GitHubとはプログラムのソースコードを保存したりバージョン管理をしたり共同で作業するために公開できるWebサイトです。
VisualBasicという言語は一切登場していない状況です。これは近年のプログラミング界隈では需要が少なく、単価も低いことを意味します。そんな言語を今から学習するのは少し遠回りになってしまうかな、と感じました。なので今回は上記のサイトを見てもわかるように、Pythonが人気でかつ、スクレイピング技術というサイトからのデータを取得するためのライブラリーが豊富、さらに非常に簡単に学習できる、誰でも同じようなソースコードになるため可読性が高い、という利点からPythonを採用しました。Pythonを習得しておけば、転職にも有利に働きますし、機械学習などAI系のライブラリーも豊富なので、当面の間はPythonでご飯が食べていけると思います。
理由2:Javascriptの使い方が古かった
「データで楽しむプロ野球」ではプロ野球のデータを表形式で表示している他、視覚的にデータを見ていただけるようなページも公開しています。例えば昨年の日本シリーズのとある試合のデータを以下のページで公開しています。
これらのページはHTMLをベースにJavascriptを使用して表現していて、今でも現役で使用できる技術なのですが、2015年に大幅に変わったJavascriptの仕様に準拠しておらず、古いコードの書き方で実装してしまっています。なのでこのページを使用して学習しても、現代ではほとんど使われてない書き方になってしまうため、不毛な学習になってしまうことを懸念しました。今回はJavascriptの拡張版のTypescriptの学習もしていきたいと思います。
その他の言語について
HTML:現在でも主流なHTML5を採用しています。今回は学習のためのおすすめ書籍を紹介する程度にとどめます。
CSS:こちらも現在主流のCSS3.0を採用しています。がSassという拡張機能を採用したページが増えてきているのでこちらも学習した方がいいと思います。こちらもおすすめ書籍を紹介します。
SQLServer:世界的にはOracleが主流ですが個人で購入するにはハードルが高いのと、無償で使用できるMySQLやPostgreSQLを採用してもSQLという技術的なところはどのデータベースでもさほど変わらないため、今回はSQL ServerとMySQL、テキストベースのCSVを利用して学習をしていく予定です。
事前準備
PCを1台ご用意ください。WindowsでもMacでも大丈夫ですが将来的にiOSアプリを公開したい、といったご要望のある方はMacが必須となります。スマホやタブレットではちと厳しいです。
Pythonのインストール
ここでは細かいインストール方法は記載しませんので、以下のページを参考にインストールをお願いします。インストール自体は非常に簡単です。注意点としては、Pythonはバージョン別にインストールされるので、もし旧バージョンをインストールしている場合は、そちらをアンインストールしてからの最新版のインストールをお願いします。
Visual Studio Code のインストール
Pythonの開発環境であるVisual Studio Codeのインストールを実施します。こちらも上記を同様のサイトを参考にインストールをお願いします。※上記サイトではインストールの前にPythonの事前学習が必要と記載されていますが、それは必須ではありません。私の方でなるべく挫折しないような形でのご説明でPythonを学んでいただこうと思っています。
Visual Studio Code の拡張機能のインストール
Pythonに特化して拡張機能が豊富に入っていますので、インストールしておくと便利です。以下のサイトを参考にインストールをお願いします。
HTML、CSS、Javascriptのおすすめ書籍、サイト
今回はPythoの学習を先に行いますので、HTML、CSS、Javascriptの学習は後回しでも大丈夫ですが、Pythonでスクレイピングを行う際にHTMLが出てきますので、学習をしていく中で不明な点があった場合などに1冊参考書があるといいかもしれません。
HTML、CSS学習用のおすすめ書籍
以下の書籍がHTMLとCSSに関して網羅的にかつ丁寧に説明されていますのでお勧めです。続編が出ていますが、この1冊だけで大丈夫です。
Javascript学習用おすすめサイト
2015年以降に大幅に変わったJavascriptの入門サイトおよび書籍です。私もこちらのサイトで勉強し直しさせていただきました。書籍も出ていますがサイトでの勉強で十分かと思います。
さいごに
今回の学習対象者は、
1. プロ野球のデータを取得してみたい
2. 取得したデータで自分なりの分析をしてみたい
3. データベースの操作をマスターしたい
4. プロ野球のデータサイトを作りたい
といった方になります。プログラミングって巷では挫折する方が9割以上いらっしゃるそうです。そうした方はもしかしたら何の目的もなく、ただ何となく勉強を始めて興味の引かないサンプルを動かして面白くなくなって挫折してしまうのかもしれません。
今回は「プロ野球のデータ」という野球好きの方であればそれなりに興味のあることを題材にしていますので、上記の様な目的がある方であれば楽しくプログラミングを学べるのではないかと思います。
プログラミングって、とにかく自分の興味があることに対して何かを作ってみて動いた、という成功体験がモチベーションになりますので、今回はプロ野球データと言う材料を使用しますが、それ以外でも興味あるデータがあれば応用して作ってみる、というのもアリです。
Pythonは前述したとおり、現在非常に人気のあるプログラミング言語です。プロ野球データを使ってPythonを学んでぜひスキルアップに努めていただければ幸いです。
次回から実際にPythonでのプロ野球データの取得方法を、なるべく挫折しないように段階的に説明していきますので、公開まで今しばらくお待ちいただければと存じます。
最後までご覧いただきましてありがとうございました。次回公開は2月下旬~3月上旬を予定です。よろしくお願いいたします。
ありがとうございます。いただいたサポートはサイトの運営費に使用させていただきます。