Python+Seleniumを使ったスクレイピングの話
はじめに
python program.py [URL]で対象の某ウェブサイトからパワプロの選手データをスクレイピングするコードを作成しました。このスクリプトは、Seleniumライブラリを使用し、投手と野手のデータを収集してJSON形式で保存します。
データは以下のパワプロ能力値クイズというアプリで使用しています。
パワプロ能力値クイズのDLはこちら
IOS(https://apps.apple.com/jp/app/パワプロ能力値クイズ/id1612911659)
Android(https://play.google.com/store/apps/details?id=com.pawaquiz)
課題
実は今まではデータをJSONに手入力でまとめていました。
めちゃくちゃしんどかったのでOCRとか色々試したのですが精度もあまりよくなく、何より複数枚のOCRになると精度がとても良くなかったです。
そこで新卒時代以来のスクレイピングに挑戦しました。
スクレイピングというのはプログラミングなのに決まった方法はなく、HTML/CSSをページ構造をブラウザ検証で見て、属性やCLASSやIDタグなどの法則パターンを見つけて、それを何度も実行しながら抽出すると言う尊い作業です。
しかもchatGPTも構造が読み取れないので丸投げされても抽出できなく、けっこう苦手だったりします。
内容に関しては特に触れないですが、パワプロのデータはかなり複雑で、属性も様々です。
実行結果はイメージですが、例えばこうゆう感じになります。

対象のページから投手データと野手データを自動的に取得してくれるように作りました。
感想
100万年ぶりにスクレイピング書きました。
大谷の変化球がスライダーではなくてスイーパーになってたり、アプデを観察すると面白いですね。
ではでは。
ブログトップへ戻る