Py学习  »  Python

放弃自建 Python 爬虫!我用 Node.js 给 Claude Code 装了个跨平台雷达

Nodejs技术栈 • 6 小时前 • 12 次点击  
通过 Node.js 与 RedFox 为 Claude Code 接入多平台公开数据

10 月底 Node.js 爆出编号 CVE-2026-111497、CVSS v4.0 评分 9.2 的高危漏洞时,我想顺手写个脚本,看看公众号、小红书、B 站和海外 X 上的开发者都在怎么反馈补丁情况。

结果还没开始做数据分析,时间全耗在跟各家平台的滑块验证、分页参数和不同网页结构打交道上了。好不容易用 Puppeteer 调通一个站点的抓取,换个平台又得重新抓包、写一套全新的字段清洗逻辑,花在维护脚本上的精力比做分析本身还多。

对于绝大多数后端和 AI 开发者来说,我们要的其实只是干净的公开数据,真没必要为了几百条技术讨论,自己去搭代理池、写一堆解析器。

后来换了个思路,与其自己维护十几套采集脚本,不如直接调现成的公开数据基础设施。这周我用 红狐数据(RedFox)[1] 重新搭了一套技术情报工作流,从最底层的 Node.js 原生 fetch 并发请求,到给 Claude Code 挂载 MCP 服务,再到直接跑现成的 开源 Agent Skill,在我这次测试里,大概十分钟就把国内外主流平台的舆情监控跑通了。

下面直接上代码和实测效果。

第一步,用 Node.js 原生 fetch 并发调通 4 大平台

先看最基础的 HTTP 接口调用。打开 官方接口文档页[2],各平台接口使用同一套请求头(REDFOX_API_KEY)和状态码约定(成功统一为 code: 2000),返回结构按各平台自适应,网页端还能直接填参数在线调试。

比如按关键词检索抖音账号(/story/api/dyData/searchUser),在 Node.js 22+ 里连 axios 都不用装,几行原生 fetch 就能拿到账号昵称、抖音号、粉丝量、获赞数与认证信息。

const res = await fetch('https://redfox.hk/story/api/dyData/searchUser', {
  method: 'POST',
  headers: { 'REDFOX_API_KEY': process.env.REDFOX_API_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({ keyword: 'Node.js', offset: 0, sortType: '_0' }),
});
const { code, data } = await res.json(); // code === 2000 时返回 data.list 账号数组

同理,我们用 Promise.all 写个 30 行的脚本 tech-radar.mjs,一次性把 微信公众号、B 站、小红书和海外 X(Twitter) 四个平台的搜索接口并发跑起来。

// tech-radar.mjs (Node.js 22+ 零依赖运行)
constAPI_KEY = process.env.REDFOX_API_KEY;
constBASE_URL = 'https://redfox.hk/story/api';

asyncfunctioncallRedFox(endpoint, payload) {
const res = awaitfetch(`${BASE_URL}${endpoint}`, {
    method: 'POST',
    headers: { 'REDFOX_API_KEY': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify(payload),
  });
const json = await res.json();
if (json.code !== 2000) thrownewError(json.msg || 'API Error');
return json.data;
}

asyncfunctionrunTechRadar(keyword = 'Node.js') {
const [gzh, bili, xhs, xData] = awaitPromise.all([
    callRedFox('/gzhData/searchArticle', { keyword, offset: 0, sortType: '2' }),
    callRedFox('/bili/data/workSearch', { keyword, page: 1, pageSize: 10, order: 'totalrank' }),
    callRedFox('/xhsUser/searchArticle', { keyword, offset: 0, sortType: '0' }),
    callRedFox('/x/search', { keyword, searchType: 'Top' }),
  ]);
console.log({ gzh: gzh.list?.length, bili: bili.workList?.length, xhs: xhs.list?.length, x: xData.tweets?.length });
}

runTechRadar(process.argv[2] || 'Node.js');

在终端执行 node tech-radar.mjs "Node.js",在我这次测试里,不到 3 秒,四个平台的结构化结果就同时回来了。

没有复杂的 SDK 依赖,也不用写一行 DOM 解析逻辑,国内外的公众号长文、B 站教程、小红书踩坑笔记和 X 推文就这么被拉进了同一个 JSON 对象里。

补一个我更在意的细节。这套脚本能跑通,一方面是因为接口统一,另一方面也是因为数据来源干净。RedFox 不突破登录态,不搞逆向,拿的都是各平台公开数据。自己写爬虫要扛的封号、限速和法律风险,在这里都转移给了服务方,对想在公司项目里用这套流程的人来说,这一点比快 3 秒重要得多。

第二步,一行命令把 134 个 MCP 工具挂进 Claude Code

日常写代码或者排查问题时,如果连脚本都懒得跑,可以直接用 RedFox 的 MCP 服务 [3]。官方针对各平台提供了独立的 MCP 入口,在终端跑一行命令就能把抖音、公众号等数据工具挂进 Claude Code。

claude mcp add --transport http redfox-douyin https://mcp.redfox.hk/douyin/mcp \
  --header "REDFOX_API_KEY: 你的_REDFOX_API_KEY"

习惯用 Cursor、Windsurf 或 Claude Desktop 的同学,把官网生成的这几行 JSON 贴进配置文件同样能直接生效。挂载成功后,你在对话框里直接用自然语言提问,Claude Code 就会自己挑选对应的 RedFox 工具去并发拉数据,并当场整理成对比表格。

第三步,直接跑开源 Skill,10 秒生成可视化情报看板

比单纯调接口更省事的,是官方维护的开源技能库 redfox-community[4] 与 Skills 广场[5]。团队已经把 50+ Agent Skills 和 100+ AI Skills 写成了现成工作流,装好就能直接出报告。

我拉取了其中的 Last 30 Days CN 版(cn-last30days),拿 "Node.js" 跑了一次实测。

git clone https://github.com/redfox-data/redfox-community.git
cd redfox-community/skills/cn-last30days
python3 scripts/cn_last30days.py "Node.js"

在我这次测试里,不到 10 秒,脚本就从微信公众号、抖音和小红书捞回了 36 条高相关讨论,并自动生成了一份双栏交互式 HTML 报告。打开右边“公众号”标签页的时候,排出来的榜单让我乐了半天。

在不指定任何账号的前提下,纯靠关键词相关性与互动权重,脚本算出来的公众号第 1、第 2 名居然正好是咱们《Nodejs技术栈》前阵子发的两篇原创稿,第 3、第 4 名则是《微步在线研究响应中心》和《赛博禅心》的 9.2 分漏洞预警长文。

再切到旁边的“抖音”和“小红书”标签页,短视频博主的漏洞拆解、小红书上的修复版本提醒以及原帖跳转链接也全都按热度排好了卡片。

要是还想同时看海外开发者社区的动向,仓库里还有一个支持海内外多平台并发抓取的 global-ai-news-brief(全球 AI 情报简报) 技能。我顺手进入 skills/global-ai-news-brief 跑了一把它的 fetch_all.py 脚本,一次性从微信公众号、B 站、小红书、抖音以及海外的 YouTube 和 X(Twitter)拉回了 120 条热门内容(累计互动量超过 16.9 万)。

以前要把国内公众号长文、B 站与抖音视频,还有海外 YouTube 教程和 X 推文拢到同一张看板上,不仅得维护多套解析脚本,还得处理海外网络环境;在我这次测试里,跑一行命令、花几分钱额度,十几秒就能看到多平台聚合结果。

跑完这一轮的几个真实感受

把这套工作流跑通之后,最大的体感是终于不用再为“怎么拿到数据”分心了。

以前我们做个小工具,想法很丰满,结果一动手全卡在各个平台的采集细节上。现在底层这 国内 14 个主流社媒、海外 9 个内容社区外加 6 大 AI 问答信源(见下图),全都变成了标准 HTTP 接口,代码重心终于能回到业务逻辑和 Prompt 本身。

要是你平时也在做 AI 应用或内容工具,它的 Skills 广场[6] 里还有两个现成能力很值得顺手试一下。

一个是 音视频直接提口播文案。平时给知识库或 RAG 收集素材,遇到 YouTube 英文技术演讲或者抖音、B 站的长视频,自己挂载下载器加语音转文字模型既慢又占磁盘。用它内置的视频提文案接口或 youtube-digest 技能,传个链接过去直接返回纯文字稿(海外视频没中文字幕时还会自动拉英文字幕翻成中文),喂给大模型做总结特别顺手。

另一个是 AI 搜索口碑监测(GEO 分析)。现在很多程序员做技术选型前习惯先问 DeepSeek、豆包、Kimi 或元宝。如果你自己在做开源项目或独立产品,想看看大模型回答里有没有提到你、底下到底引用了哪篇公众号或知乎文章,直接跑仓库里的 geo-analyzer 技能,就能一次性并发查完 6 个 AI 搜索引擎并生成诊断报告。

最后顺带聊一句大家关心的调用成本。我对比过几家的付费方式,最后选它是因为不用绑月度套餐,按次计费,试错成本低;使用时先充值,按实际请求扣额度。

日常做分析、报表或攒语料,调 T+1 更新的优质库 就够用了,覆盖全、字段全,单次调用只有 0.04 元,累计调得多还能按阶梯自动打折到 0.02 元/次;只有遇到突发舆情预警、热点监控这类强时效场景,才需要去调单独计费的 分钟级实时接口(0.03~0.06 元/次,企业团队也有专属的实时库与 SLA 方案)。而且接口只有返回 code: 2000 才计费,调试报错或网络超时都不扣额度。

目前新用户注册可获赠 200 积分体验额度(具体价格、折扣与赠额政策以官网实时页面为准),先跑通再按需充值,足够把上面演示的 Node.js 脚本、MCP 和开源 Skill 完整跑上好几轮。如果你手头正好有跨平台抓数据或者给 Agent 接外部信源的需求,可以去 RedFox 官网[7] 拿个 Key 跑通第一条请求试试,50+ Agent Skills、100+ AI Skills 也都在 GitHub(redfox-data/redfox-community)[8] 上,拉下来就能直接改。


引用链接

[1]红狐数据(RedFox): https://redfox.hk/?source=gzh_nodejsjsz

[2]官方接口文档页: https://redfox.hk/apis/douyin/P5CHB3BZ?source=doc

[3]MCP 服务: https://redfox.hk/mcp

[4]redfox-community: https://github.com/redfox-data/redfox-community

[5]Skills 广场: https://redfox.hk/skills

[6]Skills 广场: https://redfox.hk/skills

[7]RedFox 官网: https://redfox.hk/?source=gzh_nodejsjsz

[8]GitHub(redfox-data/redfox-community): https://github.com/redfox-data/redfox-community

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/203300