Route C : Phase 2
C-04:トレンドハンターの実装
市場の「空気」を掴む - Butlerの魂を継承
動画収集機能に続き、トレンド収集機能を実装します。
今回は、Hybrid-Article-Butlerが持つ3つの情報源(Yahoo!, Google News, サイトRSS)を完全に移植し、多角的な情報収集を可能にします。
1. 実装する機能 (Trend Hunter)
3つの情報源
- Yahoo!リアルタイム検索連携: X(Twitter)のトレンドを取得。
- Google News連携: 指定キーワードの最新ニュースを取得。
- サイトRSS連携: サイト設定ファイルに記述された、特定の情報源(競合サイトや専門ブログ)のRSSフィードを取得。
2. 進化の呪文(AIへの指示)
以下のプロンプトをコピーし、AI Studioに貼り付けて実行してください。
出力されたコードと、AI自身が生成した「実装手順」に従って、ツールをアップグレードしましょう。
PROMPT
あなたはプロのPython開発者です。
現在作成中の「FX_Trend_Hunter」に対し、トレンド収集機能(Trend Hunter)を「コンポーネント分割設計」で追加実装してください。
【要件定義】
1. **バックエンド実装 (`lib/lib_trend_scout.py`):**
- `requests` と `BeautifulSoup` を使用して、以下の3つの関数をゼロから実装してください。
- `fetch_yahoo_realtime_trends()`: Yahoo!リアルタイム検索から上位20件のトレンドワードを取得。
- `fetch_google_news_rss(keyword)`: 指定キーワードのGoogle News RSSを取得。
- `fetch_custom_rss(rss_urls)`: 文字列のリストで渡された複数のRSS URLから記事情報を取得。
- 取得したデータを「タイトル: URL」の形式でリスト化し、文字列として返す機能。
2. **GUI部品実装 (`gui/tabs/scout_trend.py`):**
- 新しく `ScoutTrendPanel(ttk.Frame)` クラスを作成。
- ラジオボタンで「Yahoo!リアルタイム」「Google News」「サイトRSS」の3つを選択できるようにする。
- Google News選択時のみ、キーワード入力欄を有効化する。
- 「トレンド取得&プロンプト生成」ボタンを配置。サイトRSSモードの場合は、`_wp_sites/`内のアクティブなYAMLファイルから `rss_urls` を読み込んで実行するロジックを実装すること。
3. **親タブへの追加 (`gui/tabs/tab_scout.py`):**
- 作成した `TrendScoutPanel` をインポートし、既存の `VideoScoutPanel` の下(または隣)に配置するように修正してください。
4. **テンプレート作成 (`prompts/trend_analysis_template.txt`):**
- AI Studio用のトレンド分析指示書のひな形を作成。「あなたはFXストラテジストです。以下の市場トレンドを分析し...」といった内容。
【重要:出力形式の制約】
- Pythonコード内の文字列リテラルやコメントであっても、**バッククォート3つ(```)は絶対に使用しないでください。**
- AI Studioでの表示崩れを防ぐため、コードブロックの囲み記号は出力せず、ファイル名とコード本体のみを提示してください。
【出力ルール】
1. 作成・修正が必要なファイル名と、そのコード全文を提示してください。
2. ファイルマーカーの出力は禁止。ファイル名だけをコードブロックの外に表示し、ファイルは省略禁止でお願いします。
3. **最後に、ユーザーが実行すべき「実装手順」を箇条書きで必ず出力すること。**
3. 実装と動作確認
AI Studioの出力結果の中から、AI自身が生成した「実装手順」を見つけて、その指示通りに作業を進めてください。
→ 「情報収集」タブに新しいエリアが追加され、「Yahoo!リアルタイム」のトレンドワードが取得できれば成功です!