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 服务

输入

参数类型必填默认值备注
searchTermsarray✅[]Twitter 高级搜索查询(例如 ["#AI lang:en", "from:NASA"])
sortstring可选Top排序方式:Latest、Top 或 Latest+Top
tweetLanguagestring可选—ISO 639-1 语言代码(例如 en)
maxItemsnumber可选不限返回的推文数量上限
onlyVerifiedUsersboolean可选false仅包含已认证用户发布的推文
onlyTwitterBlueboolean可选false仅包含 Twitter Blue 订阅用户发布的推文
onlyImageboolean可选false仅包含带图片的推文
onlyVideoboolean可选false仅包含带视频的推文
onlyQuoteboolean可选false仅包含引用推文
authorstring可选—按特定作者账号筛选
inReplyTostring可选—筛选回复特定账号的推文
mentioningstring可选—筛选提及特定账号的推文
geotaggedNearstring可选—筛选某个地点附近的推文
withinRadiusstring可选—geotaggedNear 周边的半径
geocodestring可选—纬度/经度 + 半径字符串
placeObjectIdstring可选—筛选标记了地点的推文
minimumRetweetsnumber可选—最低转推数
minimumFavoritesnumber可选—最低点赞数
minimumRepliesnumber可选—最低回复数
startstring可选—筛选此日期之后的推文(YYYY-MM-DD)
endstring可选—筛选此日期之前的推文(YYYY-MM-DD)
includeSearchTermsboolean可选false将匹配的搜索词添加到每条推文中
customMapFunctionstring可选—用于转换每个输出对象的 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

必须在环境变量或 .env 文件中设置 APIFY_TOKEN。

如果 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 状态。

评论

支持 Markdown