Route C : Phase 2
C-03:動画ハンターの実装
YouTube/TikTokダウンローダー - コンポーネント開発の第一歩
FXの情報収集において、YouTubeやTikTokは宝の山です。
このステップでは、動画のURLを渡すだけで、その中身をPCに保存し、AIに解析させるための準備を自動化します。
【設計のポイント】 機能ごとにファイルを分ける「コンポーネント設計」を実践するため、今回はメインの tab_scout.py を直接編集するのではなく、新しい部品ファイルを作成します。
1. 実装する機能 (Video Scout)
- yt-dlp連携: 世界最強の動画ダウンローダーをPythonから制御し、YouTube/TikTokの動画を高品質で保存します。
- プロンプト自動生成: ダウンロードした動画をAI Studioに渡すための「分析指示書(プロンプト)」を、動画タイトルやURLを埋め込んだ状態で自動作成します。
- コンポーネント化: 動画収集機能は
gui/tabs/scout_video.pyという独立したファイルに実装し、親タブから読み込む形にします。
2. 進化の呪文(AIへの指示)
以下のプロンプトをコピーし、AI Studioに貼り付けて実行してください。
出力されたコードと、AI自身が生成した「実装手順」に従って、ツールをアップグレードしましょう。
PROMPT
あなたはプロのPython開発者です。
現在作成中の「FX_Trend_Hunter」に対し、動画収集機能(Video Scout)を「コンポーネント分割設計」で実装してください。
【要件定義】
1. **バックエンド実装 (`lib/lib_video_scout.py`):**
- `yt-dlp` ライブラリを使用して、指定されたURLの動画を `input/video/` にダウンロードする関数を作成。
- 動画タイトルや説明文を取得し、それを `prompts/video_analysis_template.txt` (テンプレート)に埋め込んで、`output/prompt_for_ai_studio.txt` を生成する機能。
2. **GUI部品実装 (`gui/tabs/scout_video.py`):**
- `ttk.Frame` を継承した `VideoScoutPanel` クラスを作成。
- 動画URLを入力するテキストボックスと、「ダウンロード&プロンプト生成」ボタンを配置。
- 処理の進捗を表示するログエリアを作成。
- `threading` を使用して、重いダウンロード処理でGUIが固まらないようにすること。
3. **親タブへの組み込み (`gui/tabs/tab_scout.py`):**
- 作成した `VideoScoutPanel` をインポートし、画面内に配置するように修正してください。
4. **テンプレート作成 (`prompts/video_analysis_template.txt`):**
- AI Studio用の分析指示書のひな形を作成。「あなたはFXアナリストです。以下の動画を分析し...」といった内容。
【重要:出力形式の制約】
- Pythonコード内の文字列リテラルやコメントであっても、**バッククォート3つ(```)は絶対に使用しないでください。**
- AI Studioでの表示崩れを防ぐため、コードブロックの囲み記号は出力せず、ファイル名とコード本体のみを提示してください。
【出力ルール】
1. 作成・修正が必要なファイル名と、そのコード全文を提示してください。
2. ファイルマーカーの出力は禁止。ファイル名だけをコードブロックの外に表示し、ファイルは省略禁止でお願いします。
3. **最後に、ユーザーが実行すべき「実装手順」を箇条書きで必ず出力すること。**
3. 実装と動作確認
AI Studioの出力結果の中から、AI自身が生成した「実装手順」を見つけて、その指示通りに作業を進めてください。
→ YouTubeのURLを入力して実行し、input/video/ に動画が保存されれば成功です!