问答
MediaCrawler 有 MCP 或 API 版吗?想直接给 AI 智能体用
简短回答
MediaCrawler 是本地爬虫,要用你的账号登录、把结果写进文件,智能体没法在对话中途直接问它要数据。这类场景更适合托管接口:okdata 通过 MCP 和 HTTP 提供抖音、小红书、B站、微博的搜索和评论,不需要登录。抖音搜一次 $0.02,B站评论每页 $0.002。
有人在 MediaCrawler 的 issue 里问要不要做 MCP 版,原因很简单:它的工作方式和智能体对不上。MediaCrawler 是先配好关键词,启动采集,在浏览器里扫码,等它跑完,再去读它写出的 CSV 或数据库。智能体正好反过来:聊到一半,它判断需要 20 条讲空气炸锅的抖音视频和前三条下面的评论,而且最好几秒钟就拿到。okdata 就是为后一种用法做的。每个问题是一次 HTTP 调用或一次 MCP call,返回 JSON,任何地方都不用登录你的账号。
能对应上的部分
| MediaCrawler 平台 | 对应的托管接口 |
|---|---|
| 抖音 | 视频搜索、视频详情、评论、账号信息、作品列表、热搜 |
| 小红书 | 笔记搜索、笔记详情、评论、博主信息、博主笔记、热点话题 |
| B站 | 视频搜索、视频详情、评论、热门榜 |
| 微博 | 微博搜索、账号信息、热搜 |
| 快手、贴吧、知乎 | 暂不支持 |
一个典型任务的花费
假设让智能体看看抖音和小红书用户怎么聊某个产品,两边各读点赞最高的 5 条内容下的评论:
| 步骤 | 调用次数 | 费用 |
|---|---|---|
| 抖音搜索 2 页 | 2 | $0.04 |
| 小红书搜索 2 页 | 2 | $0.04 |
| 抖音评论,5 条视频各 2 页 | 10 | $0.02 |
| 小红书评论,5 篇笔记各 2 页 | 10 | $0.20 |
| 合计 | 24 | {{cost:douyin.videos.search2+xiaohongshu.notes.search2+douyin.videos.comments.list10+xiaohongshu.notes.comments.list10}} |
怎么接
MCP 客户端只要填地址 https://api.okdata.online/mcp,再加一个 Authorization: Bearer 请求头;各客户端的写法见 MCP 页。如果你的智能体就是一段脚本,同样的数据一个 GET 就能拿到:
import os, requests
API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
def get(path, **params):
body = requests.get(API + path, headers=H, params=params, timeout=60).json()
if body["code"] != "ok":
raise RuntimeError(f"{body['code']}: {body['message']}")
return body["data"]
videos = get("/v1/douyin/videos/search", query="空气炸锅", sort="most_liked",
fields="id,title,metrics.likes,metrics.comments")["items"]
top = videos[0]
comments = get("/v1/douyin/videos/comments/list", id=top["id"], sort="hot",
fields="text,likes,ip_location")["items"]
print(top["title"], len(comments), "条评论")
用起来会注意到的差别
- 评论接口返回一级评论和回复数,MediaCrawler 还能采二级回复(楼中楼)。
- 每一页都是一次付费调用。MediaCrawler 按页不花钱,花的是你的时间、你的账号,以及账号被风控的风险。
- 只有公开数据,需要登录才能看的内容拿不到。
- 平台不显示的字段返回 null,并在
meta.unavailable里列出,智能体能分清是缺数据还是真为零。
什么时候 MediaCrawler 更合适
一次性采 10 万条评论,要采快手、贴吧或知乎,或者需要二级回复,这些情况下 MediaCrawler 免费又全面,原始字段也都在你手里。不少团队两个一起用:偶尔的大批量数据集交给 MediaCrawler,智能体每天要问的那些零散问题交给接口。评论分析的完整做法见口碑与评论分析方案。
更新于