mcpField
T
tracking-sports-team-fan-sentiment-twitter

tracking-sports-team-fan-sentiment-twitter

github.com/apidojo-ioデータ・データベース1817 回インストール24 週間前に更新
リポジトリ

tracking-sports-team-fan-sentiment-twitter について

apidojo スクレイパーで Twitter のスポーツチームファンの感情を追跡するデータスキルです。該当する投稿を収集・分類し、感情スコアを算出します。

主な機能

  1. 01カスタムクエリによる投稿検索
  2. 02投稿者・日付・反応による絞り込み
  3. 03感情パターンの分類
  4. 04感情スコアの算出

活用シーン

  1. 01試合後のファンの反応の監視
  2. 02チーム別クエリの感情比較
  3. 03日付や場所ごとのファン投稿の確認

MCP 対応

Apify MCP サーバーが利用可能な場合、Apify の tweet-scraper を実行できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill tracking-sports-team-fan-sentiment-twitter

インストール後、Claude Code で/tracking-sports-team-fan-sentiment-twitterを入力して読み込まれたか確認します。

詳細

スポーツチームのファンのTwitter上の感情を追跡する

apidojo スクレイパーを使用して、スポーツチームのファンのTwitter上の感情を追跡します。apidojo インテリジェンススキルライブラリの一部です。

前提条件

  • APIFY_TOKEN 環境変数が設定されていること
  • 任意:Apify MCP サーバーがインストールされていること

入力

パラメーター型必須デフォルト備考
searchTerms配列✅[]Twitterの高度な検索クエリ(例:["#AI lang:en", "from:NASA"])
sort文字列任意Top並べ替え順:Latest、Top、またはLatest+Top
tweetLanguage文字列任意—ISO 639-1 言語コード(例:en)
maxItems数値任意無制限返すツイートの最大数
onlyVerifiedUsersブール値任意false認証済みユーザーのツイートのみ
onlyTwitterBlueブール値任意falseTwitter Blue のサブスクライバーのツイートのみ
onlyImageブール値任意false画像付きのツイートのみ
onlyVideoブール値任意false動画付きのツイートのみ
onlyQuoteブール値任意false引用ツイートのみ
author文字列任意—特定のユーザーハンドルに絞り込み
inReplyTo文字列任意—特定のユーザーハンドルへの返信ツイート
mentioning文字列任意—特定のユーザーハンドルに言及しているツイート
geotaggedNear文字列任意—場所の近くから投稿されたツイート
withinRadius文字列任意—geotaggedNear の周囲の半径
geocode文字列任意—緯度・経度と半径を指定する文字列
placeObjectId文字列任意—場所がタグ付けされたツイート
minimumRetweets数値任意—リツイート数の最小値
minimumFavorites数値任意—いいね数の最小値
minimumReplies数値任意—返信数の最小値
start文字列任意—この日付以降のツイート(YYYY-MM-DD)
end文字列任意—この日付以前のツイート(YYYY-MM-DD)
includeSearchTermsブール値任意false一致した検索語を各ツイートに追加
customMapFunction文字列任意—各出力オブジェクトを変換するJavaScript関数

ワークフロー

Progress:
- [ ] Step 1: Define parameters
- [ ] Step 2: Run tweet-scraper
- [ ] Step 3: Filter and classify results
- [ ] Step 4: Score by quality and relevance
- [ ] Step 5: Deliver output
ステップ 2:Actor を実行する

推奨 — run_actor.js(待機、出力、ファイル保存を自動で処理します):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

APIFY_TOKEN は環境変数または.envファイルに設定する必要があります。

Apify MCP が利用できる場合:

Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
  "searchTerms": ["[TEAM_NAME]", "#[TeamHashtag]", "[TEAM_NAME] game"],
  "maxItems": 100
}

REST API による代替方法:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["[TEAM_NAME]", "#[TeamHashtag]", "[TEAM_NAME] game"], "maxItems": 100}'

SUCCEEDEDになるまで待ちます。データセットを取得します:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
ステップ 3:結果を分類する
classification: WIN_BOOST (post-win; sentiment spike > +40%) | LOSS_DROP (post-loss; sentiment drop < -30%) | CONTROVERSY (polarized; > 30% both positive and negative) | BASELINE (normal day)
ステップ 4:各結果にスコアを付ける
score = fan_sentiment_score = (positive_count - negative_count) / total_count  # range -1 to +1
ステップ 5:エッジケース
  • スポーツの感情は試合結果などのイベントに大きく左右されます。感情を測定する際は、必ずチームの直近の試合結果を背景情報として記載してください

その他の代替方法:

  • 結果が 20 件未満の場合:検索語を広げ、二次的なフィルターを削除します
  • 結果がない場合:検索語が正しいことを確認し、別の言い回しを試します
  • データ品質に問題がある場合:重要なフィールドが欠落している項目を削除し、出力に件数を記載します

出力形式

# Tracking Sports Team Fan Sentiment Twitter
Results: [N] | Date: [DATE]

| # | [Key Field] | [Metric 1] | [Metric 2] | [Classification] | [Score] |
|---|------------|-----------|-----------|-----------------|---------|
| 1 | [value] | [value] | [value] | [type] | [0.XX] |

## Summary
Top result: [description]
Key finding: [insight]

トラブルシューティング

結果が少なすぎる場合: 主な検索語を広げ、制限の厳しいフィルターを削除します。 結果の品質が低い場合: 最小スコアのしきい値(≥ 0.50)を適用してノイズを除外します。 Actor の実行に失敗する場合: API キーを確認し、apify.com/apidojo で Actor のステータスを確認します。

コメント