# 品牌词上了微博热搜，怎么第一时间收到提醒？

> 每 10 分钟查一次微博热搜榜，品牌名或关键词一上榜就发提醒，顺带抓出带节奏的几条微博。每天的费用和可以直接改的代码。

网页版：https://okdata.online/zh/answers/weibo-hot-search-brand-alert/

**简短回答：**每 10 分钟拉一次微博热搜，把每个话题和你的品牌词表比对；一天 144 次，共 $0.288。命中后再对这个话题跑一次微博搜索（每页 $0.002），提醒里就不只有一个标题，还有正在推动话题的那几条微博。

公关最怕的剧本大概是这样：某饮品品牌的一条投诉晚上 11 点冲上微博热搜，团队第二天早上 9 点才从记者的电话里知道。一个每 10 分钟查一次榜单的小脚本，能把这段空白压缩到十分钟以内。品牌名、产品名或者老板的名字一上榜，值班的人就会收到一条消息，里面有排名、热度，以及这个话题下转发最多的五条微博。

## 用到两个接口

1. [微博热搜](/zh/apis/weibo/trends/list/)：一次调用返回整张榜，带排名、话题、热度和搜索链接。
2. [微博搜索](/zh/apis/weibo/posts/search/)：只在命中时调用。按热门排序，第一页约 10 条，能看出是谁在带这个话题、各自转发了多少。

## 费用

| 方案 | 调用次数 | 费用 |
|---|---|---|
| 每 10 分钟查一次榜，一天 | 144 | $0.288 |
| 每 10 分钟查一次榜，30 天 | 4,320 | $8.64 |
| 30 天，其间命中 10 次、每次搜 2 页 | 4,320 + 20 | $8.68 |

## 提醒脚本

```python
import json, os, requests

API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
WATCH = ["山野咖啡", "椰云拿铁", "shanye"]          # 品牌、产品、昵称
SEEN = "alerted.json"

def call(path, **params):
    r = requests.get(API + path, headers=H, params=params, timeout=30).json()
    if r["code"] != "ok":
        raise RuntimeError(f"{r['code']}: {r['message']}")
    return r["data"]["items"]

seen = set(json.load(open(SEEN))) if os.path.exists(SEEN) else set()
for row in call("/v1/weibo/trends/list"):
    hit = any(w.lower() in row["name"].lower() for w in WATCH)
    if not hit or row["name"] in seen:
        continue
    posts = call("/v1/weibo/posts/search", query=row["name"], sort="hot",
                 fields="text,author.name,metrics.reposts")
    print(f"#{row['rank']} {row['name']} heat={row['heat']}")
    for p in posts[:5]:
        print("  ", p["author"]["name"], p["metrics"]["reposts"], p["text"][:80])
    seen.add(row["name"])
json.dump(sorted(seen), open(SEEN, "w"), ensure_ascii=False)
```

把 `print` 换成发往飞书、企业微信或 Slack 机器人的请求，再设成每 10 分钟跑一次就行。已经提醒过的话题记在文件里，不会反复轰炸。

## 它做不到的

- 跟你有关的话题，标题里不一定有你的名字，比如用地点加产品描述的门店事件。词表要放宽，同时对微博正文做[关键词监控](/zh/apis/weibo/posts/search/)；热搜只是声量最大的那一层。
- 10 分钟一查，最坏会晚 10 分钟。改成 5 分钟费用翻倍，结果通常差别不大。
- 微博下面的评论不在接口目录里。提醒能告诉你什么上了榜、是谁起的头，评论区还得去微博上看。
- 榜单没有历史。脚本停了一段时间，就没法回头查那段时间漏了什么。

## 其他选择

商业舆情平台也有同样的预警，还带情感分析图表和客服，适合想要现成看板、完全不写代码的公司。新品发布当天，安排一个人一直盯着热搜页面，依然是反应最快的办法。完整的口碑监测思路见[口碑监测方案](/zh/solutions/word-of-mouth/)。

## 用到的接口

- [微博热搜](https://okdata.online/zh/apis/weibo/trends/list/) `weibo.trends.list`：$0.002/次 · 每页约 50 条榜单
- [微博搜索](https://okdata.online/zh/apis/weibo/posts/search/) `weibo.posts.search`：$0.002/次 · 每页约 10 条帖子

更新于 2026-11-12
