はじめに
AIを使って何かツールを作りたいとは思うものの、「じゃあ実際にどんなものを作ればいいのか・・・」と悩んでいました。
そんな折、X(旧Twitter)の投稿から特定のトピックスを抽出するツールを作成したという体験談を伺いました。その話を聞いて一番最初にひらめいたのが、今回のタイトルの企画です。
⏩ 「能書きはいいからコードだけくれ!」という方はこちら(完成したコードへジャンプ)
最初の狙いと直面した壁
当初の狙いは、「連勝投稿」や「ビヨンド到達デッキ」、さらには「PS選手選手のデッキポスト」まで自動抽出・集計するツールを作ることでした。
しかし、実際にAIと相談しながら仕様を検討してみると、以下の大きな壁にぶつかりました。
- X APIの無料枠制限: 無料枠では取得制限が厳しすぎる
- アカウント認証の壁: Xの仕様上、ログインやAPI認証が必須で無料での自動化が非常に難しい
そこで今回はAIと対話して代替案を模索し、Yahoo!リアルタイム検索(画像・動画タブ)を経由することで、完全無料で動く仕組みを作ることにしました!
ちなみに筆者の開発環境は低スペックなChromebookですが、処理はすべてクラウド上のGoogle Colab側で実行されるため、端末のスペックに関係なく動きます。ハイスペックPCを持っていなくても、誰でも全く同じ環境で作成・実行できます!
プログラミングの知識が少なくても、AIに指示を出すだけで実用的なツールが作れる過程を含めてご紹介します。
この記事はこんな方におすすめ
- とにかく無料でAIを使って実用的なツールを作ってみたい
- Shadowverse: Worlds Beyond(シャドバWB)をプレイしており、最新のトレンド・連勝デッキを簡単に知りたい
- PythonやスクレイピングのコードをGoogle Colabでサクッと動かしてみたい
- スペックの低いPCやChromebookで開発に挑戦してみたい
作ったツールの概要
Yahoo!リアルタイム検索(画像・動画タブ)から #シャドバWB 連勝 などのキーワードを含む投稿を自動で抽出し、クラス別(各クラス最大5件)・連勝数別に整理したMarkdownファイルを生成するツールです。
主な機能
- 5連勝以上の投稿のみを厳選(低連勝や関係のないノイズを除外)
- 各クラス最大5件まで自動ピックアップ
- 画像付き投稿(デッキレシピ掲載)を優先抽出
- 投稿日時の正規化(「昨日 15:14」などの相対表記を「8月31日 15:14」のような具体日時に自動変換)
- ユーザー名やUIノイズの整形
- クラスの自動判定(本文内のテキストから使ったクラスを高精度に分析)
- Google Colab対応(ライブラリやブラウザのインストール状態を判定し、2回目以降は爆速起動)
開発環境・使用技術
- 手元PC: 低スペックChromebook(ブラウザが動けばOK!)
- 実行環境: Google Colaboratory / Gemini(無料枠でOK)
- 言語: Python 3.x
-
主要ライブラリ:
-
playwright: ブラウザ自動操作・動的ページのスクレイピング -
pandas: データの重複除去・整形 -
re/datetime: 正規表現による日時・連勝数・クラス判定
-
🤖 AI(Gemini)との開発プロセス
最初から完璧なコードが出たわけではなく、狙いの実現可否も含めてAIと何度も対話しながら段階的に機能を磨き上げていきました。
-
要件相談と代替案の決定
- 「PS選手の投稿や連勝ポストをXから無料で集めたい」と相談したところ、X直接の取得は無料枠では厳しいと判明。AIから「Yahoo!リアルタイム検索を経由する」という実現可能な代替案を提案してもらい、方向性を決定。
-
基本機能の実装指示(スクレイピング)
- 方針に基づき、「Yahoo!リアルタイム検索からシャドバの連勝ポストを取得して、Markdown出力するコードを作って」と依頼。
-
精度向上とノイズ除去のチューニング
- 「5連勝以上の画像付き投稿だけに絞りたい」「配信告知や『連敗』などのノイズを除外してほしい」「各クラス最大5件までにまとめたい」と追加要望を出してフィルタリングロジックを作成。
-
出力形式と使い勝手の改善
- 「『昨日 15:14』みたいな相対時間を具体的な日時に変換して」「毎回インストールが走ると遅いから、すでにインストール済みならスキップできるようにして」と伝えることで、実用性を高めていきました。
このように、「作りたいこと」や「直したいところ」を普段の言葉で伝えるだけで、AIが課題解決の提案からコードの書き換えまでサポートしてくれました。
🛠️ 使い方・導入方法(Google Colab)
Google Colabを使えば、自分のパソコンにプログラミング環境を作ることなく、ブラウザ上だけで完全無料で実行できます。
-
Google Colabを開く
Google Colaboratory にアクセスし、「ノートブックを新規作成」をクリックします。 -
タイトルを変更しておく
画面左上の「Untitled0.ipynb」を**シャドバWB_連勝デッキ検索.ipynb**などの分かりやすい名前に変更しておきましょう。 -
コードを貼り付ける
表示されたセル(コード入力欄)に、下記で紹介している「完成したコード」をそのままコピー&ペーストします。 -
実行する
再生ボタン(▶)またはCtrl + Enter(Cmd + Enter) を押して実行します。
💡 次回以降もっと楽に使うテクニック
ブラウザの「☆(ブックマーク)」にこのページを登録しておけば、次回からはページを開いて「再生ボタン(▶)」を押すだけで一発で最新の連勝デッキを取得できます!コードの貼り付け直しも不要です。
初回のみ必要なライブラリやブラウザの自動インストールが行われます。2回目以降は判定処理によりスキップされ、数秒で抽出処理へと進みます。
完成したコード
コード全体はGistにまとめました。以下のリンクからご覧いただけます。
🔗 シャドバWB_連勝デッキ検索.py(GitHub Gist)
コピーしてGoogle Colabのコードセルにそのまま貼り付けて実行してください。
生成結果の確認
実行が完了すると、Colabの左メニュー「ファイル(フォルダアイコン)」内に シャドバWB連勝デッキ(日付).md が出力されます。

ダブルクリックしてプレビュー表示すると、以下のようなクラス別(各クラス最大5件)・連勝数別に整理された一覧が確認できます。

まとめ
今回はシャドバWBの連勝デッキ検索ツール作成を通して、AIを使ったツール作成の実践・解説してみました。
- 作りたいツールの概要を提示する
- 実際に動かしながら機能の修正と追加を行う
この2点さえ押さえておけば、プログラミング知識が少なくてもツールを形にすることができます。
さらにスムーズに作成するためには、より具体的な概要を提示したり、AIとの効果的な対話(プロンプト)のコツを掴んだりすることが鍵になってきますが今回はここまで。
まだ自動化や取得精度の面で向上できる余地はあるので、今後は有料APIの活用やさらに高度なフィルタリングなど、より便利な仕組みへのアップデートにも挑戦してみたいと思っています。
次回の記事はこちら:
※本ツールは個人利用および技術検証を目的としており、取得データの再配布等は行っていません
