熱狂的なプロ野球ファンは、さまざまな記録にも関心を抱くのではないでしょうか?しかし記憶は薄れていくもので、最近の記録は覚えていても昔の記録は忘れがちです。
忘れたときはインターネットで昔の記録を調べたらいいですが、調べるときはスクレイピングした方が楽です。
本記事では、プロ野球データのスクレイピングについて解説します。
目次
プロ野球データのスクレイピングの流れ
プロ野球データをスクレイピングする流れを解説します。
スクレイピングの対象を決める
「スクレイピングってURLを指定するだけで、すべてのデータが取得できると思っていた」
確かに<body></body>を指定すれば、全部のデータが取得できるかもしれません。しかし<body></body>間には、不要なデータも混じっているはずです。不要なデータが混じっていたら、後で整理するのが大変です。
スクレイピング時間は3分、スクレイピングデータの整理に2時間・・・これではスクレイピングする意味がないですね。
このような無駄を省くためには、始める前にスクレイピングの対象をしっかり決めることが大切です。
過去の日本シリーズの結果をスクレイピング
今回は過去の日本シリーズの結果を、スクレイピングすることにします。そうと決まったら、掲載しているサイトを見つけるのが先決です。
https://2689web.com/games.html
簡単に見つかりましたが、まずはソース画面にしてサイトの構成を見ます。日本シリーズの結果データは、テーブルタグが使われているのが解りました。
このまま対象のタグをスクレイピングツールで指定してもいいと思いましたが、ふとExcelは表形式のデータに強いということを思い出しました。
Excelで試した結果
Excelでもスクレイピングできましたが、日本一になったチーム、セリーグの優勝チーム、パリーグの優勝チームは、スクレイピング結果に残りませんでした。
何故かと思い検証しましたが、これらのデータは画像化されていました。そのためExcelは、認識することができなかったのです。
それでもこれだけのデータが取得できたら十分ですね。すべてのデータがテキスト化されていたら、すべてのデータを取得できたと思いますが、おそらくはスクレイピング対策のために、一部のデータを画像化したのだと思います。
データを完成させるためには、手入力でデータを加えていくしかなさそうですね。
役立つ他のプロ野球データ
役立つ他のプロ野球データを考えました。
個人記録
個人記録のスクレイピングも面白いと思います。古い記録は新記録と比較されることが多いですが、古い記録が直ぐに取り出せなければ面倒です。
古い記録をスクレイピングしExcelに転記すれば、効率的に対象の古い記録を取り出すことができますね。
Excelに転記する理由は、データの整理とデータの取り出しが楽だからです。
好きな選手の総合記録
好きな選手の総合記録を、スクレイピングするのも面白いかもしれません。好きな選手の総合記録をスクレイピングするときは、ウィキペディアが便利だと思います。
今度もExcelで試しました。
落合博満さんの個人成績をウィキペディアからスクレイピングしましたが、画像データがなかったので、漏れなくスクレイピングできました。
スポンサーリンク
プロ野球データをスクレイピングするときのポイント
これからはプロ野球のデータを、スクレイピングするときのポイントを考えます。
テーブルタグが使われているデータはExcelで挑戦
テーブルタグが使われているデータは、Excelで挑戦したらいいと思います。Excelのバージョンによって若干操作は異なりますが、基本的な流れは同じです。
初めて挑戦する人は、以下のサイトを参考にしてください
https://note.com/keisuke_s626/n/n68fb0dd83d9f
Excelでスクレイピングするメリットは簡単なだけではなく、整理と取り出しが便利なことです。Excelにはフィルターがあるので、工夫次第では秒速で目的のデータが見つかりますよ。
スクレイピングに時間をかけない
長時間スクレイピングをしたら、対象のサイトに負荷がかかります。負荷がかかればサイトが重たくなるので、他の閲覧者に迷惑がかかります。
スクレイピングは短時間で済ますのがマナーです。そしてスクレイピングを明示的に禁止しているサイトは、自己責任で実行してください。
Excelでは難しいかもしれませんが、スクレイピングツールだったら一部のデータだけスクレイピングすることもできます。
スクレイピングの基本は対象のタグを見つけることですが、ソース画面にしたら直ぐに解ります。
著作権には気をつける
サイトによっては、著作権を主張しているかもしれません。そのようなサイトをスクレイピングするときは、規約をよく読んでください。
データの転売は禁止しているけど、スクレイピングそのものは禁止していない・・・このようなサイトだったらスクレイピングしてもいいと思いますが、負荷のために日時には気をつけてください。
できれば、アクセス数が少ない平日の深夜がいいと思います。起きているのがつらい人は、スケジュール機能があるスクレイピングツールを使ってください。
スポンサーリンク
こんなデータはスクレイピングツールが便利
個人記録や日本シリーズの結果などはExcelでもスクレイピングできますが、以下のようなデータは本格タイプのスクレイピングツールが便利です。
表形式でないもの
表形式のデータはtableタグが使われているため、Excelでも簡単にスクレイピングできました。しかし表形式以外のデータは、スクレイピングツールの方が便利です。
表形式で表示されていないデータは対象のタグを見つけ、スクレイピングツールで指定するのが効率的です。
対象のタグはソース画面から見つけますが、スクレイピングツールによっては自動検知してくれるものもあります。
CSVファイルに変換したいデータ
CSVファイルに変換したいデータも、スクレイピングツールが便利です。CSVファイルに変換したらプログラムでも使いやすいし、Excelに取り込むときも便利です。
有料のスクレイピングツールは、CSVファイルに変換してくれるものが大半です。中にはExcelのファイル形式に変換してくれるものもありますが、汎用性を考えたらCSVファイルに変換した方が便利です。
ドメイン単位でスクレイピングするとき
ドメイン単位でスクレイピングするときも、スクレイピングツールは便利です。ドメイン単位でスクレイピングできたら、効率性はメチャクチャいいです。
ドメイン単位といってもURLを指定するだけなので、難しく考える必要はありません。一部のスクレイピングツールは日本語化しているので、英語が読めない人でもさほど苦労することなく、ドメイン単位でスクレイピングできると思います。
まとめ
プロ野球データのスクレイピングについて解説をしましたが、多くのプロ野球データは表形式になっていたので、スクレイピングは簡単でした。
本記事ではExcelで挑戦しましたが、Excelでも難なくスクレイピングできました。しかしさまざまなメディアからスクレイピングする人は、本格的なスクレイピングツールを使った方が便利だと思います。
本格的なスクレイピングツールはいろいろありますが、機能、使いやすさ、コストの低さを考えたらBright Dataのスクレイピングツールが一番だと思います。
コメントを残す