mcpField
A
apify-financial-osint

apify-financial-osint

github.com/apify营销与增长283123 次安装5 周前更新
代码仓库

关于 apify-financial-osint

apify-financial-osint 是面向投资组合公司的社交舆情检索技能,覆盖 Reddit、Twitter/X 和 Trustpilot。它根据所需信号选择指定 Apify Actor,并整理情绪与互动数据。

主要功能

  1. 01Reddit 情绪与讨论检索
  2. 02Twitter/X 实时提及监测
  3. 03Trustpilot 评价分析
  4. 04按信号类型选择 Actor
  5. 05限制结果数量以控制费用
  6. 06汇总情绪与互动指标

适用场景

  1. 01跟踪企业事件引发的讨论
  2. 02监测实时提及与危机信号
  3. 03分析客户满意度与投诉模式

MCP 相关

可通过 Apify MCP connector 的 `call-actor` 工具运行指定 Apify Actors;技能也支持 Apify CLI。

安装

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

$npx skills add https://github.com/apify/awesome-skills --skill apify-financial-osint

安装后在 Claude Code 中输入/apify-financial-osint确认已加载。

附带文件data/osint-targets.jsonreference/osint-actor-schemas.md

详细介绍

金融 OSINT — 社交舆情

发现并量化互联网上关于投资组合公司的讨论。仅使用 3 个经过验证的 Apify Actor——Reddit(情绪分析 + 讨论串)、Twitter/X(实时提及、危机监测)、Trustpilot(客户满意度)。所有 Actor 均已通过真实演示数据验证,成功率 ≥98%。

前提条件

  • Apify 访问权限——首选:apify CLI(npm install -g apify-cli && apify login);备用:Apify MCP 连接器(call-actor 工具)。两者都可用时,CLI 速度更快且优先使用。
  • 公司数据位于 ${CLAUDE_PLUGIN_ROOT}/data/companies.json(读取字段:queries.reddit、queries.twitter、trustpilot_urls、identifiers.ticker)
  • 每家公司的路由已预先计算并存放于 ${CLAUDE_PLUGIN_ROOT}/skills/apify-financial-osint/data/osint-targets.json

${CLAUDE_PLUGIN_ROOT} 是插件的根目录(.claude-plugin/ 所在位置)。安装插件后,Claude Code 会自动解析此路径;开发期间则将其设为 --plugin-dir 路径。

工作流检查清单

复制此清单,并在推进过程中勾选:

Task Progress:
- [ ] Step 0: Verify Apify access — try `apify --version && apify info`; if unavailable, check for `call-actor` MCP tool; if neither, tell user to install apify CLI or Apify MCP connector
- [ ] Step 1: Pick actor(s) by signal type — see "Choose Actor by Signal" table
- [ ] Step 2: Build input — read data/osint-targets.json or construct from data/companies.json
- [ ] Step 3: Run actor via apify CLI
- [ ] Step 4: Output — present top results with sentiment + engagement signals

限制

允许使用的 Apify Actor(仅限以下 Actor——请勿使用其他 Actor)
Actor用途费用成功率
fatihtahta/reddit-scraper-search-fastReddit 情绪分析、收购反应、品牌认知$1.49 / 1k 条结果98.4%(30 天内 40,787 次运行)
kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest实时提及、危机监测、交易流信号$0.25 / 1k 条推文99.7%(4.3/5,58 条评价)
getwally.net/trustpilot-reviews-scraper服务质量、投诉模式(电信公司、电商、银行)$3.00 / 1k 条结果已验证可用

请勿使用任何其他 Actor。请勿使用 WebSearch、WebFetch 或浏览器工具。

根据信号选择 Actor
如果需要使用 Actor不适用情况
情绪 / 讨论串 / 对企业事件的反应fatihtahta/reddit-scraper-search-fast如果公司没有消费者群体(B2B 金融科技、生物技术)——预计少于 5 条帖子
实时提及 / 危机信号 / 交易流讨论kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest如果需要超过 1 周的历史数据——受 Twitter API 限制
客户满意度 / 服务质量投诉getwally.net/trustpilot-reviews-scraper如果公司没有 Trustpilot 页面(B2B、控股公司)——参见 reference/osint-actor-schemas.md 第 3 节中的已验证 URL 列表

流程

第 1 步:选择 Actor

对于投资组合公司,在 data/osint-targets.json 中查找公司——该文件已预先计算要运行的 Actor,并提供模板化输入。路由规则(与构建该文件时所用规则一致):

  • queries.reddit 非空 → 运行 Reddit Actor
  • queries.twitter 非空 → 运行 Twitter Actor(所有跟踪公司均始终设置此项)
  • trustpilot_urls 非空 → 运行 Trustpilot Actor

对于临时或非投资组合目标,请从头构建输入(参见第 2 步)。

第 2 步:构建输入
Reddit 输入(关键字段)
字段类型默认值说明
queries字符串数组必填(queries / urls / subredditName 三选一)在 Reddit 全站范围内搜索的关键词。
maxPosts整数50000(!)务必显式设置——常规扫描通常设为 30-50,深度分析设为 100-200。
scrapeComments布尔值false设置为 true 以提取串接式讨论。
maxComments整数50000(!)仅在 scrapeComments: true 时使用。通常设为 5–10。
sort枚举"relevance"可选值:relevance、hot、top、new、comments。(不是 rising / best。)
timeframe枚举"all"可选值:all、year、month、week、day、hour。范围必须大于或等于 dateFrom–dateTo。
dateFrom字符串—YYYY-MM-DD。抓取后筛选:保留此日期及之后的帖子。
dateTo字符串—YYYY-MM-DD。抓取后筛选:保留截至此日期的帖子。

示例:

apify call fatihtahta/reddit-scraper-search-fast \
  --input '{"queries":["InPost FedEx acquisition"],"maxPosts":50,"scrapeComments":true,"maxComments":10,"sort":"relevance","timeframe":"month"}' \
  --user-agent apify-awesome-skills/apify-financial-osint
Twitter/X 输入(关键字段)
字段类型默认值说明
twitterContent字符串—twitterContent / tweetIDs / searchTerms 三选一。Twitter 高级搜索语法(OR、-、from:、since:)。
tweetIDs字符串数组—复数形式——不是 tweetId。
searchTerms字符串数组—每个关键词都会分别获取 maxItems 条结果。
maxItems整数200必填——未设置时 Actor 会失败。按结果付费。
queryType枚举"Latest"可选值:Latest、Top、Photos、Videos。
lang字符串"en"ISO 639-1。单国 B2C 搜索时,设为 cs / pl / hu / bg / sk / tr;多语言搜索时省略。
since / until字符串—格式:YYYY-MM-DD_HH:MM:SS_UTC(不是 ISO 8601)。
filter:news / filter:media / min_faves / min_retweets各种类型—互动量 / 内容筛选条件。

示例:

apify call kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest \
  --input '{"twitterContent":"InPost FedEx acquisition OR INPST","maxItems":100,"queryType":"Latest","since":"2026-01-01_00:00:00_UTC","filter:news":true}' \
  --user-agent apify-awesome-skills/apify-financial-osint
Trustpilot 输入(仅有 2 个字段!)
字段类型必填说明
startUrls{"url": "..."} 对象数组是不是纯字符串——必须是对象数组。
limit整数否(默认值为 1000)设置较低值以控制成本($3/1k)。

示例:

apify call getwally.net/trustpilot-reviews-scraper \
  --input '{"startUrls":[{"url":"https://www.trustpilot.com/review/inpost.pl"}],"limit":50}' \
  --user-agent apify-awesome-skills/apify-financial-osint

旧版文档提到的 maxItems、includeStatistics、includeCompanyDetails、onlyNewerThan 等字段,在此 Actor 上并不存在。

第 3 步:限制运行成本

运行前务必限制输出数量。默认值高得令人担忧。

Actor限制字段全面扫描深度分析
RedditmaxPosts30–50100–200
Reddit 评论maxComments5–10(仅当 scrapeComments: true 时)20–50
Twitter/XmaxItems50–100200–500
Trustpilotlimit30–50100–200

Twitter 和 Trustpilot 按结果付费——每条返回的内容都会计费。

第 4 步:运行

同时提取 InPost 的 Reddit 讨论串和 Twitter 提及内容的示例(由 data/osint-targets.json 驱动):

apify call fatihtahta/reddit-scraper-search-fast \
  --input "$(jq -c '.targets[] | select(.company_id=="inpost") | .inputs.reddit' \
    ${CLAUDE_PLUGIN_ROOT}/skills/apify-financial-osint/data/osint-targets.json)" \
  --user-agent apify-awesome-skills/apify-financial-osint \
  --output-dataset > reddit_inpost.json

完整的各 Actor 输入架构(包含全部 51 个 Twitter 属性、所有 Reddit 枚举值以及 Trustpilot 的各种边界情况),以及 30 多个调用示例: reference/osint-actor-schemas.md。

第 4b 步:筛选 Reddit 结果

Reddit 搜索会忽略引号并匹配部分词语(“InPost”会匹配“in post game thread”)。抓取后,在客户端筛选结果:仅保留 title 或 body 中包含公司任一搜索词完整词形(不区分大小写)的帖子。使用 data/osint-targets.json 中的 queries 数组进行匹配(这些是公司实际为人所知的词语)。比较前先统一变音符号(Š↔S、ö↔o 等)。

预计原始 Reddit 结果中有 90–95% 是误报。这是正常的——maxPosts 设为 200 就是为了弥补这一点。

第 5 步:输出

各 actor 的关键输出字段:

Actor日期字段日期格式URL 字段互动字段
Redditcreated_utcISO 8601(2026-05-01T17:26:41.000Z)canonical_urlscore、num_comments
TwittercreatedAt非标准格式(Fri May 01 17:35:21 +0000 2026)urllikeCount、retweetCount、replyCount
TrustpilotdateISO 8601(2026-01-27T21:53:45.000Z)url(评论 ID,而非公司主页)ratingValue(字符串 "1"–"5")

展示排名靠前的结果,并包含:

  • 情感提示(正面 / 负面 / 中性),可根据文本判断时提供
  • 互动数据——见上表
  • 作者 / 用户名
  • 日期——显示时规范化为 YYYY-MM-DD
  • 永久链接

情感扫描的输出示例:

## OSINT Scan: InPost — Last 30 days

### Reddit (3 posts, 47 comments analyzed)
| Title | Subreddit | Score | Sentiment | Date | URL |
|---|---|---|---|---|---|
| InPost lockers in UK getting better? | r/unitedkingdom | 124 | positive | 2026-04-12 | … |
| Anyone else missing parcels? | r/poland | 38 | negative | 2026-04-09 | … |

### Twitter/X (87 tweets)
| Tweet (truncated) | Author | Likes | Replies | Date | URL |
|---|---|---|---|---|---|
| FedEx-InPost rollout looks promising… | @logistics_eu | 412 | 27 | 2026-04-22 | … |

### Trustpilot (50 reviews — avg 3.2 / 5)
| Rating | Title | Author | Date | URL |
|---|---|---|---|---|
| 5 | Good system, very efficient | Yeison S. | 2026-03-10 | … |
| 1 | Parcel never delivered | Anna K. | 2026-04-18 | … |

按公司路由

data/osint-targets.json 将每家投资组合公司映射到要运行的 OSINT actor,并提供根据 data/companies.json 生成的预置输入模板。截至 v1.0,覆盖情况为:31 个条目(30 家投资组合公司 + 集团),Reddit 27 个、Twitter 31 个、Trustpilot 5 个、三者均有 5 个、仅 Twitter 4 个。actor 为空的条目表示已确认不存在相关页面(例如,MONETA / CETIN / SOTIO 没有 Trustpilot 页面)。

关键注意事项(高频错误)

  • Reddit 的 maxPosts 默认值为 50000——务必显式设置(扫描时通常设为 30–50)。
  • Reddit 的 maxComments 默认值为 50000——启用 scrapeComments: true 时应设为较低值。
  • Reddit 的 subredditKeywords 是数组,不是字符串。
  • Reddit 的 sort 枚举不包含 "rising" / "best"——仅支持 relevance、hot、top、new、comments。
  • Reddit 的 includeNsfw——"sfw" 为小写(不是 includeNSFW)。
  • Twitter 的 maxItems 是必填项——不填写时 actor 会失败。按结果计费。
  • Twitter 的 since / until 格式为 YYYY-MM-DD_HH:MM:SS_UTC(不是 ISO 8601)。
  • Twitter 的 tweetIDs 是复数形式的数组,不是 tweetId。
  • Twitter 的 lang 默认值为 "en"——请显式设置,或省略以涵盖所有语言。
  • Trustpilot 的 startUrls 必须是包含 url 键的对象数组,不能是纯字符串。
  • Trustpilot 只有 2 个输入字段(startUrls、limit)——旧文档提到的 maxItems、includeStatistics、includeCompanyDetails、onlyNewerThan 均不存在。
  • Trustpilot 的 ratingValue 是字符串("1"–"5"),不是整数——汇总前请先解析。
  • Trustpilot 不支持日期筛选——actor 会按时间倒序返回最近的评论,最多返回 limit 条;请根据 date 字段进行后置筛选。
  • 已核实各公司的 Trustpilot URL——请参见 reference/osint-actor-schemas.md 第 3 节中的“已知 Trustpilot URL”表格。有些公司没有 Trustpilot 页面(B2B 控股公司、生物科技公司)——运行 actor 会返回 0 条评论。

完整的各 actor 架构和 30 多个调用示例: reference/osint-actor-schemas.md。

参考资料

评论

支持 Markdown