# 怎么用 AI 每天自动生成竞品在小红书、抖音的发布日报？

> 每天早上列出竞品在小红书、抖音的新笔记和新视频，带点赞和评论数，再让大模型写出变化。账号 ID 怎么拿、费用多少、完整代码。

网页版：https://okdata.online/zh/answers/ai-competitor-daily-report/

**简短回答：**准备一份竞品账号 ID 清单，每天拉一次各账号作品列表的第一页（小红书每页 $0.02，抖音每页 $0.002），只保留比昨天新增或明显上涨的内容，交给大模型写总结。两个平台各盯 10 个账号，每天 $0.22。

一个茶饮品牌在小红书和抖音各盯着 10 个竞品。现在的做法是每周一有人挨个打开 20 个主页，把数字抄进表格，等抄完，周三上线的活动早就不新鲜了。打开主页、抄数字这一步交给每天跑的脚本，大模型再写出团队真正会看的三段话：谁发了什么，哪条起量了，有没有竞品开始做新活动。

## 一次性准备：账号 ID

作品列表接口需要账号 ID，从主页链接取一次就行：

- [小红书博主信息](/zh/apis/xiaohongshu/users/get/)：传入 `xiaohongshu.com/user/profile/5f12...` 这样的主页链接，返回 ID、粉丝数和笔记数。
- [抖音账号信息](/zh/apis/douyin/users/get/)：传入主页链接或 `v.douyin.com` 分享链接，返回账号的 sec_uid（以 `MS4wLjABAAAA` 开头），这就是抖音用的 ID。

ID 存进文件即可。20 个账号一次性花 $0.22。

## 每天拉一次

- [小红书博主笔记列表](/zh/apis/xiaohongshu/users/notes/list/)：从新到旧，每页约 20 条。
- [抖音账号作品列表](/zh/apis/douyin/users/videos/list/)：从新到旧，每页约 20 条，带点赞、评论和转发。

对绝大多数品牌号来说，第一页就覆盖了好几天的发布，所以每个账号每天调一次足够。

| 监控规模 | 每天调用 | 每天费用 | 30 天费用 |
|---|---|---|---|
| 小红书 10 个 + 抖音 10 个 | 20 | $0.22 | $6.60 |
| 再加每周查一次粉丝数 | 每周 +20 | — | +$0.88 |

## 代码

```python
import json, os, pathlib, requests

API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
RIVALS = {"xiaohongshu": ["5f1234567890abcdef123456"], "douyin": ["MS4wLjABAAAA..."]}
PATHS = {"xiaohongshu": "/v1/xiaohongshu/users/notes/list", "douyin": "/v1/douyin/users/videos/list"}
STATE = pathlib.Path("rivals.json")

before = json.loads(STATE.read_text()) if STATE.exists() else {}
now, report = {}, []
for platform, ids in RIVALS.items():
    for account in ids:
        body = requests.get(API + PATHS[platform], headers=H, timeout=60, params={
            "id": account, "fields": "id,url,title,text,published_at,metrics.likes,metrics.comments,author.name"}).json()
        if body["code"] != "ok":
            report.append(f"{platform} {account}: {body['code']}")
            continue
        for p in sorted(body["data"]["items"], key=lambda x: x["published_at"], reverse=True):
            likes = p["metrics"]["likes"] or 0
            now[p["id"]] = likes
            if p["id"] not in before:
                report.append(f"新发 {platform} {p['author']['name']}：{p['title'] or p['text'][:60]}（{likes} 赞）{p['url']}")
            elif likes - before[p["id"]] > 1000:
                report.append(f"起量 {platform} {p['author']['name']}：+{likes - before[p['id']]} 赞 {p['url']}")
STATE.write_text(json.dumps(now))
print("\n".join(report))  # 把这些行连同需求一起交给大模型
```

然后调一次大模型："以下是竞品昨天的发布。总结主题，标出涨得快的内容，指出看起来像新活动或新品的动作。"结果推到群里或发邮件。

## 容易踩的坑

- 抖音主页可以置顶旧视频，列表里置顶的可能排在最前面。像代码里那样按 `published_at` 自己排序。
- 小红书不公开浏览量，`metrics.views` 为空，`meta.unavailable` 里会注明。看点赞、收藏和评论就好。
- 只有公开作品。删掉的内容会直接从列表里消失。
- 上涨 1000 赞这个阈值只是示例，按账号体量自己调。

## 其他做法

扣子或飞书里那种贴 Cookie 抓取的工作流，Cookie 过期前都能用，适合先试试水。千瓜（小红书）、蝉妈妈（抖音）这类数据平台不用写代码就有图表、排行和历史数据，团队更想要看板、对每日消息没那么在意的话，买它们更合适。只盯三四个对手的话，每天早上手动打开主页看一眼，其实也完全够用。更多做法见[竞品监控方案](/zh/solutions/competitor-monitoring/)。

## 用到的接口

- [小红书博主笔记列表](https://okdata.online/zh/apis/xiaohongshu/users/notes/list/) `xiaohongshu.users.notes.list`：$0.02/次 · 每页约 20 篇笔记
- [抖音账号作品列表](https://okdata.online/zh/apis/douyin/users/videos/list/) `douyin.users.videos.list`：$0.002/次 · 每页约 20 条视频
- [小红书博主信息](https://okdata.online/zh/apis/xiaohongshu/users/get/) `xiaohongshu.users.get`：$0.02/次
- [抖音账号信息](https://okdata.online/zh/apis/douyin/users/get/) `douyin.users.get`：$0.002/次

更新于 2026-11-12
