2019/01/20ツイートきっかけはツイッターでの下記やりとりから。サーブのデータはかなり貴重と思われます。コースと、回転の種類まで入ってますから。良いですよ、というか寧ろ歓迎します。どの様な分析になるか楽しみです。掲示板を確認してみると、サーブコースや速度やポイントの勝ち負け(〇×)がほとんどのポイントで記録されていて。データベースなどデータ分析をしやすい形にしてみたいなと。いうことでスクレイピングでデータを自動収集してスプレッドシートにまとめてみました。そのやり方について簡単に説明したいと思います。便利なWebスクレイピングだが、注意も必要Webスクレイピングとは、Web上の情報を自動で収集する技術のことを言います。一度プログラムコードを書けば、ボタン一つでページを巡回してデータを決めたルールに則って自動抽出してくれるので非常に便利です。サーバに負荷をかけない、著作権に気を付けるなど注意も必要です。私は以下を読みました。↓は保存したスプレッドシートのスクリーンショットです。データ数は、2016/4バルセロナ以降の70試合5734ポイント分です。下記項目をデータとして抽出しています。DeuceサイドかAdサイドかデータ抽出方法についてデータ抽出ですが、ページを巡回して、下記ルールをコードに書いてサーブデータを抽出しました。↓は掲示板のスクリーンショットになり、赤黄色さん以外にも多くの方がコメントを書いてます。基本的には赤黄色さんがサーブデータを記録してくれているので、赤黄色さんのコメントだけを抽出するようにしました。抽出したコメントを各セット毎に分類コメントの冒頭にコメントが第何セットの内容なのかわかるような書き方をしてくれているので、何セット目のコメントかでデータを分類しました。2-6set2と書いてあれば、set2の2の数字を抽出して、コメント内のデータ全てのデータで、setに2を格納するようにします。正規表現を用いて文章をゲーム、ポイント毎に区切る各ゲーム毎の情報が、↓のように1行でまとめて書かれています。〇×〇〇〇〇:勝ち負けが順番に書かれてます。1-0:ゲーム後のゲームカウント(1w1662c1522c1482c1481c):サーブの情報が順番に書かれています。分割でき、1w166は1stサーブ、コースはワイド、166km/hとなります。これらを、正規表現という手法でゲーム、サーバー、etc、それぞれの項目を分割して抽出し、データとして格納していきました。↓のような正規表現を使ったコードです。正規表現の基本的な考え方については下記をみるといいと思います。「なぜこの表現方法が有名なのかといえば、この表現方法を利用すれば、たくさんの文章の中から容易に見つけたい文字列を検索することができるためです」と書かれています。これ以上の細かい説明は省略しますがデータの抽出ルールをコードに書いたら、あとはページを巡回して自動収集させてデータを格納させました。他にも空白削除など細かい処理はいくつかやってますが、最後に記載したプログラムコードをみていただければわかるかと思います。Trackerの錦織選手のデータと比較してみました。サーブデータ(@sna15694さん記録)をまとめさせていただきました。2016/4バルセロナ以降の70試合5734ポイント分のデータ。ATPサイトのS&Rトラッカーのコース率ポイント率のデータと比較し、傾向はだいたいあっているかなと。2018年5月3日データのビジュアライズとか収集したデータを使って、BIツール(redashとかtableau)などでビジュアライズさせるようなことできないかなあと、いろいろ試したりしています。データなので良い形で公開できないかなと。やるとしたらデータをAWSなどクラウド上に置く必要があるんですけど、従量課金なのでアクセス多いと大金を払う羽目になりそうで怖く。いいやり方ないかなあ。コードについて(Python)githubで公開してます。大坂なおみの新コーチに、フィセッテが就任とのニュース。...テニスの試合シミュレータをつくり、錦織とジョコビッチを1000回対戦させてみましたテニスの試合シミュレータをつくってみました。...ナショナルチームメンバー(2014年前期)が発表されました2014年前期のナショナルチームメンバーが発表されました。link購読するサイトについて「データ」×「テニス」をキーワードにブログを書いたり、データを公開したり、データ分析用のツール開発を進めてます。詳細は「サイトについて」にて。ツイッターもやってます。データテニス【DataTennis】サイト管理人がつくったテニスのスコア記録用のアプリです。otakomaサイトリンクテニス・ライブスコア(FlashScore)・男子ATP/女子WTAツアー/チャレンジャーなどほぼ全てのテニストッププロの試合のライブスコアを確認することができます。