问答

怎么用 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 过期前都能用,适合先试试水。千瓜(小红书)、蝉妈妈(抖音)这类数据平台不用写代码就有图表、排行和历史数据,团队更想要看板、对每日消息没那么在意的话,买它们更合适。只盯三四个对手的话,每天早上手动打开主页看一眼,其实也完全够用。更多做法见竞品监控方案。

更新于