问答
怎么用 AI 每天自动生成竞品在小红书、抖音的发布日报?
简短回答
准备一份竞品账号 ID 清单,每天拉一次各账号作品列表的第一页(小红书每页 $0.02,抖音每页 $0.002),只保留比昨天新增或明显上涨的内容,交给大模型写总结。两个平台各盯 10 个账号,每天 $0.22。
一个茶饮品牌在小红书和抖音各盯着 10 个竞品。现在的做法是每周一有人挨个打开 20 个主页,把数字抄进表格,等抄完,周三上线的活动早就不新鲜了。打开主页、抄数字这一步交给每天跑的脚本,大模型再写出团队真正会看的三段话:谁发了什么,哪条起量了,有没有竞品开始做新活动。
一次性准备:账号 ID
作品列表接口需要账号 ID,从主页链接取一次就行:
- 小红书博主信息:传入
xiaohongshu.com/user/profile/5f12...这样的主页链接,返回 ID、粉丝数和笔记数。 - 抖音账号信息:传入主页链接或
v.douyin.com分享链接,返回账号的 sec_uid(以MS4wLjABAAAA开头),这就是抖音用的 ID。
ID 存进文件即可。20 个账号一次性花 {{cost:xiaohongshu.users.get10+douyin.users.get10}}。
每天拉一次
对绝大多数品牌号来说,第一页就覆盖了好几天的发布,所以每个账号每天调一次足够。
| 监控规模 | 每天调用 | 每天费用 | 30 天费用 |
|---|---|---|---|
| 小红书 10 个 + 抖音 10 个 | 20 | {{cost:xiaohongshu.users.notes.list10+douyin.users.videos.list10}} | {{cost:xiaohongshu.users.notes.list300+douyin.users.videos.list300}} |
| 再加每周查一次粉丝数 | 每周 +20 | — | +{{cost:xiaohongshu.users.get40+douyin.users.get40}} |
代码
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 过期前都能用,适合先试试水。千瓜(小红书)、蝉妈妈(抖音)这类数据平台不用写代码就有图表、排行和历史数据,团队更想要看板、对每日消息没那么在意的话,买它们更合适。只盯三四个对手的话,每天早上手动打开主页看一眼,其实也完全够用。更多做法见竞品监控方案。
更新于