mcpField
M
monitoring-brand-mentions-on-twitter

monitoring-brand-mentions-on-twitter

github.com/apidojo-io营销与增长1804 次安装24 周前更新
代码仓库

关于 monitoring-brand-mentions-on-twitter

用于收集符合品牌、产品或关键词搜索条件的 Twitter/X 公开帖子并整理监测结果的研究技能。它按情绪归类提及内容,并突出互动度较高的好评与投诉。

主要功能

  1. 01按词语和日期搜索公开推文
  2. 02按语言、作者和互动量筛选
  3. 03合并结果并去除重复项
  4. 04按情绪归类提及内容
  5. 05突出互动度高的好评与投诉

适用场景

  1. 01跟踪指定日期范围内的品牌提及
  2. 02查找需要回应的投诉
  3. 03筛选可用于客户评价的正面帖子

MCP 相关

如有 Apify MCP 服务,可通过它运行 Apify tweet-scraper;文档也介绍了命令行和 REST API 方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill monitoring-brand-mentions-on-twitter

安装后在 Claude Code 中输入/monitoring-brand-mentions-on-twitter确认已加载。

详细介绍

监测 Twitter 上的品牌提及

收集指定日期范围内 Twitter/X 上提及品牌、产品或关键词的所有公开推文。按情感倾向分组,列出主要投诉和赞扬,并汇总互动数据。

前提条件

  • 已设置 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布尔值可选false仅包含 Twitter 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 brand terms and date range
- [ ] Step 2: Run tweet-scraper
- [ ] Step 3: Retrieve dataset
- [ ] Step 4: Classify sentiment (positive/negative/neutral)
- [ ] Step 5: Deliver structured report
步骤 1:明确参数

向用户询问:

  • 品牌词 — 品牌名称、账号、产品名称、话题标签及常见拼写错误。整理成列表。 示例:["@Nike", "Nike", "#Nike", "Nike shoes"]
  • 日期范围 — 例如“过去 7 天”或具体日期
  • 排除转推?(默认:是 — 过滤噪声)
  • 最低互动量(可选 — 例如仅包含获赞 ≥10 次的推文)
  • 语言(默认:全部)
步骤 2:运行 tweet-scraper

对每个主要搜索词各运行一次,以尽可能扩大覆盖范围。之后合并结果。

推荐 — 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": ["[BRAND_TERM]"],
  "maxItems": 500,
  "includeReplies": true,
  "tweetLanguage": "en",
  "since": "[YYYY-MM-DD]",
  "until": "[YYYY-MM-DD]"
}

如果 Apify MCP 不可用:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchTerms": ["[BRAND_TERM]"],
    "maxItems": 500,
    "includeReplies": true,
    "since": "[YYYY-MM-DD]",
    "until": "[YYYY-MM-DD]"
  }'

对列表中的每个品牌词运行。等待状态变为 SUCCEEDED,然后收集所有结果。

步骤 3:获取并合并结果
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"

合并所有运行生成的数据集。按推文 id 去重。结果:包含所有提及的统一列表。

步骤 4:对情感倾向进行分类

对每条推文的 text 字段进行简单分类:

**正面信号:**类似 "love"、"great"、"amazing"、"best"、"recommend"、"thank"、"perfect" 的词 **负面信号:**类似 "hate"、"awful"、"broken"、"scam"、"worst"、"never again"、"disappointed"、"avoid" 的词 **中性:**其他所有内容(公告、新闻、问题)

将推文分为三个类别:正面、负面、中性。

找出互动量最高的 5 条负面推文(这些内容需要优先回应)。 找出互动量最高的 5 条正面推文(可考虑转推或用作用户评价素材)。

步骤 5:整理报告

使用下方的输出模板。

输出格式

# Brand Mention Report: [BRAND]
Period: [START_DATE] – [END_DATE] | Total mentions: [N] | Analyzed: [DATE]

## Sentiment Summary
| Sentiment | Count | % of Total | Avg Engagement |
|-----------|-------|------------|----------------|
| Positive  | [N]   | [X%]       | [likes+RT avg] |
| Negative  | [N]   | [X%]       | [likes+RT avg] |
| Neutral   | [N]   | [X%]       | [likes+RT avg] |

## 🔴 Top Negative Mentions (Action Required)
1. @[handle] ([likes] likes): "[tweet text excerpt]" → [url]
2. @[handle] ([likes] likes): "[tweet text excerpt]" → [url]
3. @[handle] ([likes] likes): "[tweet text excerpt]" → [url]

## 🟢 Top Positive Mentions (Amplify These)
1. @[handle] ([likes] likes): "[tweet text excerpt]" → [url]
2. @[handle] ([likes] likes): "[tweet text excerpt]" → [url]
3. @[handle] ([likes] likes): "[tweet text excerpt]" → [url]

## Volume Over Time
[Day 1]: [N] mentions | [Day 2]: [N] mentions | [Day 3]: [N] mentions...

## Key Themes in Negative Mentions
- [Theme 1]: [N] tweets (e.g., "shipping delays")
- [Theme 2]: [N] tweets (e.g., "customer service")

## Key Themes in Positive Mentions
- [Theme 1]: [N] tweets
- [Theme 2]: [N] tweets

故障排除

热门品牌的结果过多: 将 minLikes 筛选条件提高到 5 或 10,以聚焦于有影响力的提及。 缺少提及: Twitter 搜索 API 的免费套餐仅支持回溯约 7-10 天。要获取历史数据,请缩短日期范围。 情感分类错误: 关键词匹配很难识别讽刺——请标记互动度高的推文以供人工审核。

评论

支持 Markdown