はじめに
導入編で以下のデータを集めることにしたので、実際にデータを集めるツールを作る際の思考プロセスを記載します。
ほぼ自分用のメモ書きに近いのであしからず。
作成したツールも一緒に掲載しようと思いましたが、うまく貼り付けられなかったのでまた何か機会があればその時に。。。
- 過去のレース結果(20年分)
- 過去のレース出走馬の競争成績(20年分)
- 今年の出走馬情報とその競争成績
前回の記事はこちら
どこからデータを入手する?
普段からお世話になっている netkeiba.com を使わせていただきました。
警告
スクレイピングは利用規約を確認し、
ご自身の責任で節度を守って行ってください
使用ツール
今回は Power Automate for Desktop を使用しました。
Power Automate for Desktopとは?
Power Automate for Desktopは、Microsoftが提供しているRPA(ロボットによる業務自動化)ツールです。パソコンで行っている日常の定型業務(コピペ、データ入力、レポート作成など)を自動化し、業務効率化を図ることができます。
💡 3つの大きな特徴
-
誰でも簡単に作れる(ノーコード/ローコード)
画面上のアイコンをドラッグ&ドロップするだけで、プログラミングの知識がなくても直感的に自動化プログラム(フロー)を作成できます。 -
Windows 11なら無料で使える
Windows 11に標準搭載されており、Windows 10ユーザーも無料でダウンロードしてすぐに利用可能です(※個人利用・基本機能の場合)。 -
多彩なシステム・アプリと連携可能
ExcelやWordなどのOffice製品はもちろん、ブラウザ(Chrome/Edge)、デスクトップアプリ、フォルダ操作など、パソコン上のあらゆる操作を自動化できます。
🛠️ 具体的にできること(活用例)
- Excelマクロ(VBA)以上の自動化:Excelからデータを読み取り、Webシステムへ自動入力する。
- Webスクレイピング:特定のWebサイトから毎日価格情報やニュースを自動で収集し、リスト化する。
- ファイル操作:大量のファイル名を一括変更したり、特定のフォルダに自動で振り分けたりする。
📌 一言で言うと…
「自分のパソコンの中に、24時間文句を言わずに働いてくれる『優秀な事務アシスタント』を無料で作れるツール」です。
過去のレース結果(20年分)の取得
ツール①:過去のレース結果ページのURLを取得する
レース結果のページを見ると、出走馬とその着順の情報が確認できる
⇒レース結果についてはこのページから取得を行えばよい
過去20年分のレース結果ページURLが分かれば、各ページからレース結果を取得できる
⇒netkeibaのデータベースタブ>レースのページで「東京優駿」で検索すれば過去の結果一覧が表示できる
過去の結果一覧のページから各ページへのURLを取得すればよい
インプット:過去の結果一覧のページのURL
アウトプット:開催日と結果ページのURLを記載したCSVファイル
ツール②:レース結果と出走馬の詳細ページURLを取得する
レース結果のページから、「着順」「枠番」「馬名」などテーブルに記載してある情報をすべて取得
「馬名」が、その馬の詳細ページのリンクになっている(詳細ページ内に競走成績の記載あり)
⇒このタイミングでリンクを取得しておけば、のちに取得予定の過去のレース出走馬の競争成績を取得するための使うURL一覧が作成できる
インプット:ツール①で出力したCSVファイル
アウトプット:過去のレース結果CSV(開催日ごとに1ファイル 計20ファイル)、過去出走馬の競走馬詳細ページのURLを記載したCSV(開催日ごとに1ファイル 計20ファイル)
過去のレース出走馬の競争成績(20年分)
ツール③:出走馬の詳細ページから競争成績を取得する
競争成績は競走馬詳細ページに記載がある
⇒詳細ページのURLが分かれば、競争成績が取得できる
ツール②の時点で競走馬詳細ページURLを取得したので、取得したURLすべてのページに対してスクレイピングを行う
インプット:ツール②で出力した過去出走馬の競走馬詳細ページのURLを記載したCSV
アウトプット:馬ごとの競争成績を記載したCSV(馬ごとに1ファイル)
今年の出走馬情報とその競争成績
今年の出馬表を確認すれば、今年の出走馬情報と出走馬の詳細ページURLが取得できる
出走馬情報はテーブルに記載してある情報をすべて取得
詳細ページURLが取得できればツール③を使って馬ごとの競争成績を記載したCSVが取得できる
インプット:今年の出走表ページURL
アウトプット:出走馬情報(1ファイル)、競走馬詳細ページのURLを記載したCSV(馬ごとに1ファイル)
次回
データの取得が完了したので、次回はNotebookLMにデータをインポートする際に行った内容を記載します。