声明:LinkDigest 是作者本人开发的服务。文中的数字来自 2026-11-01 线上的一次真实调用。
想把微博内容接进 Agent、舆情表或者选题库,常见的两条路都不太顺:
- 微博开放平台:要开发者认证、建应用、等审核,很多接口有权限和调用限制;
- 自己写爬虫:要过微博的访客验证(Sina Visitor System)、维护会话,抓下来的是字段和媒体地址——视频里说了什么、图上写了什么,还得再接语音识别和 OCR。
这篇用一个读取接口直接把一条微博读成文字,给出代码和一次真实返回。
一、一次调用
curl-XPOST https://linkdigest.dev/api/v1/digest\-H"Authorization: Bearer ld_live_..."\-H"Content-Type: application/json"\-d'{"url": "https://m.weibo.cn/detail/5351369302084798", "format": "json"}'视频要读几十秒,接口可能先回202和poll_url,约 15 秒后用同一个 Authorization 头 GET 它;把同样的 POST 再发一次也行,只扣一次费。Python:
importos,time,requests H={"Authorization":f"Bearer{os.environ['LINKDIGEST_API_KEY']}"}r=requests.post("https://linkdigest.dev/api/v1/digest",headers=H,json={"url":"https://m.weibo.cn/detail/5351369302084798"})whiler.status_code==202:time.sleep(int(r.headers.get("Retry-After",15)))r=requests.get(r.json()["poll_url"],headers=H)d=r.json()print(d["author"],d["posted_at"],d["stats"])forsind.get("on_screen",[])[:5]:print(s["t"],s["text"])forcind.get("comments",[])[:3]:print(c["likes"],c["text"])二、真实返回(节选)
这条是 61 秒的微博视频:
| 项目 | 返回 |
|---|---|
| 作者 / 时间 | 屿鹿 · 2026-10-07 |
| 数据(读取当时) | 4,761 赞 · 547 评论 · 218 转发 |
| 画面文字 | 29 段,带时间——剧中对白字幕、画面里的评论截图 |
| 要点 | 5 条,每条附原文引用并逐字核对 |
| 热评 | 前 8 条,带点赞和回复数 |
| 读取回执 | 「视频没有音轨,没有口播逐字稿」「547 条评论只读了前 8 条」 |
画面文字节选(on_screen;「全程」是整条视频都在画面上的字,≈是大致时间):
全程 彭冠英:"导演,非得分手吗?我不想分手" 全程 导演:"不,你得分,后边还有三个等着呢" ≈00:10 我心中一丝火焰燃起这条视频没有音轨,所以transcript是空的、transcript_source是none——接口不会编一段口播出来,回执里写明了原因。有声音的视频会给带时间的口播逐字稿。
三、链接写法
weibo.com/<用户>/<微博ID>(电脑地址栏)、m.weibo.cn/detail/<数字ID>、m.weibo.cn/status/<ID>指的是同一条微博,接口会认成同一条、共用缓存:读过一次,再用任何一种写法读都是 0 积分。t.cn短链要先在浏览器里打开,复制展开后的地址。
四、Agent 里用
Claude Code / Cursor 用 MCP 一行接入,然后直接在对话里贴微博链接:
claude mcpadd--transporthttp linkdigest https://linkdigest.dev/mcp\--header"Authorization: Bearer ld_live_..."OpenClaw 用户可以装技能weibo-to-text。
五、边界
- 只读公开微博;只有关注者能看的(关注可见、好友圈)如实返回读不了,不扣费;
- 评论只读分享页显示的前几条热评,不是全部评论;
- 不登录、不发布、不点赞。