Skip to content
艾登的笔记
Go back

从手工截图到自动化周报:我的抖音数据监控进化史

编辑文章

每天早上8点,我的飞书会准时收到一条消息,告诉我昨天的数据变化。这不是某个SaaS工具,而是我自己搭的一套自动化系统。

一、痛点:手工统计太痛苦

做抖音内容快两个月的时候,我遇到了一个尴尬的问题:我不知道自己做得怎么样

每次想复盘,我得:

  1. 打开抖音创作者中心
  2. 一条条截图保存数据
  3. 把数字填到Excel里
  4. 手动计算环比、增长率

一条视频还好,27条视频就崩溃了。更可怕的是,我无法追踪数据变化趋势——今天的播放量是比昨天高了还是低了?粉丝增长曲线长什么样?哪些内容类型效果最好?

手动统计的问题:

二、目标:全自动数据监控

我决定搭建一套自动化系统,目标是:

  1. 定时抓取:每天自动获取最新数据
  2. 持久存储:所有数据入库,可追溯
  3. 自动分析:计算增长、识别爆款
  4. 推送报告:生成周报,推送到飞书

理想的工作流:

凌晨2点 → 系统自动抓取数据 → 写入数据库 → 生成报告 → 早上8点推送到飞书
我只需要 → 阅读报告 → 根据洞察调整策略

三、技术方案

架构设计

┌─────────────────┐     ┌──────────────┐     ┌─────────────┐
│  Cron 定时任务   │────▶│  Playwright  │────▶│  抖音页面   │
│  (每天 2:00)    │     │  浏览器自动化 │     │  数据提取   │
└─────────────────┘     └──────────────┘     └─────────────┘


                        ┌──────────────┐
                        │  SQLite 数据库│
                        │ douyin_works │
                        └──────────────┘

工具选型

组件选择理由
浏览器自动化Playwright比Selenium稳定,支持现代Web特性
数据库SQLite轻量、零配置、Python原生支持
定时任务OpenClaw Cron与现有系统集成,无需额外服务
报告推送飞书群机器人团队已在用,触达效率高

核心挑战:如何抓取抖音数据?

抖音没有公开API,只能从网页端抓取。通过分析页面结构,我发现抖音使用 data-e2e 属性标记关键数据:

// 点赞数
document.querySelector('[data-e2e="video-player-digg"]').textContent

// 评论数
document.querySelector('[data-e2e="feed-comment-icon"]').textContent

// 收藏数
document.querySelector('[data-e2e="video-player-collect"]').textContent

// 分享数
document.querySelector('[data-e2e="video-player-share"]').textContent

这种标记方式相对稳定,不容易因为UI改版而失效。

四、实现过程

Step 1: 数据库设计

CREATE TABLE works (
    id INTEGER PRIMARY KEY,
    work_id TEXT UNIQUE,
    title TEXT,
    url TEXT,
    publish_date DATE,
    likes INTEGER DEFAULT 0,
    comments INTEGER DEFAULT 0,
    shares INTEGER DEFAULT 0,
    collects INTEGER DEFAULT 0,
    views INTEGER DEFAULT 0,
    created_at TIMESTAMP,
    updated_at TIMESTAMP,
    last_crawled_at TIMESTAMP
);

CREATE TABLE account_metrics (
    id INTEGER PRIMARY KEY,
    date DATE DEFAULT CURRENT_DATE,
    followers INTEGER DEFAULT 0,
    total_likes INTEGER DEFAULT 0,
    total_works INTEGER DEFAULT 0,
    crawled_at TIMESTAMP
);

Step 2: 数据抓取脚本

核心逻辑:

  1. 启动 Playwright,打开抖音创作者页面
  2. 滚动加载所有作品
  3. 提取每个作品的互动数据
  4. 存入数据库(新作品插入,已有作品更新)
async def crawl_douyin_data(page):
    # 等待页面加载
    await page.goto("https://creator.douyin.com/")
    await page.wait_for_load_state("networkidle")
    
    # 提取账号数据
    body_text = await page.inner_text('body')
    followers_match = re.search(r'粉丝(\d+)', body_text)
    followers = int(followers_match.group(1)) if followers_match else 0
    
    # 滚动加载所有作品
    works = []
    for _ in range(10):  # 最多滚动10次
        await page.mouse.wheel(0, 1000)
        await asyncio.sleep(0.5)
    
    # 提取每个作品数据
    work_elements = await page.query_selector_all('[data-e2e="video-card"]')
    for element in work_elements:
        title = await element.get_attribute('title') or ''
        likes = await extract_count(element, '[data-e2e="video-player-digg"]')
        comments = await extract_count(element, '[data-e2e="feed-comment-icon"]')
        # ... 其他字段
        
        works.append({
            'title': title,
            'likes': likes,
            'comments': comments,
            # ...
        })
    
    return works, followers

Step 3: 反爬策略

抖音有反爬机制,我采取了以下策略:

Step 4: 定时任务配置

在 OpenClaw 中配置 Cron:

{
  "name": "抖音数据自动更新",
  "schedule": "0 2 * * *",
  "timezone": "Asia/Shanghai",
  "agentId": "main",
  "prompt": "执行抖音数据抓取任务..."
}

Step 5: 周报自动生成

每周一凌晨,系统会:

  1. 查询过去7天的数据
  2. 计算关键指标变化
  3. 识别 TOP 3 爆款
  4. 分析爆款特征
  5. 生成选题建议

爆款因子分析逻辑:

五、成果展示

当前数据概览

指标数值
总作品数27
总播放量358,065
总点赞5,784
总评论810
总收藏7,741
总分享717
粉丝数1,969

TOP 3 爆款作品

  1. 爆款别硬测,AI两天帮我砍坑 - 128,000播放,1,729点赞,1,409收藏
  2. AI扛KPI后,我们团队每天在干嘛?揭秘 - 105,000播放,1,060点赞,868收藏
  3. 我不再盯数据,全靠AI自动跑 - 42,000播放,263点赞,125收藏

关键发现

通过数据分析,我发现:

  1. 标题带数字的完播率更高(“2天”、“10分钟”、“80%”)
  2. 教程类内容收藏率极高(收藏 > 点赞的50%),说明实用价值被认可
  3. “AI+电商效率/结果”主题最容易爆
  4. 发布时间:工作日晚上8-10点数据最好

系统稳定性

运行一个多月,系统表现:

六、经验总结

做得好的

  1. 技术选型合理:Playwright + SQLite 足够轻量,不需要重型架构
  2. 数据持久化:所有原始数据入库,支持追溯和深度分析
  3. 自动化闭环:抓取→存储→分析→推送,全流程自动化
  4. 洞察驱动内容:基于数据发现爆款规律,指导选题

可以改进的

  1. 异常处理:抖音页面改版时需要人工调整选择器
  2. 数据可视化:目前是文本报告,可以加上图表
  3. A/B测试:可以测试不同发布时间、标题风格的效果
  4. 多平台扩展:小红书、B站也可以用类似方案

给想搭建类似系统的人

如果你也想搭一套自己的数据监控系统:

  1. 先跑通MVP:不要追求完美,先让数据能自动抓下来
  2. 重视反爬:不要频繁请求,控制好节奏
  3. 数据入库:不要只存最新数据,历史数据很有价值
  4. 从洞察出发:不是为了数据而数据,要能指导行动

七、写在最后

这套系统帮我省了每周2-3小时的统计时间,更重要的是,让我能基于数据做决策,而不是凭感觉

现在每天早上8点,我都会收到这样一条消息:

📊 抖音数据日报 昨日更新:1条新作品 粉丝变化:+5 获赞变化:+127 TOP作品:AI选品SOP:10步自动化(播放3,240)

这种”被数据推动”的感觉,挺好的。


如果你对这个系统感兴趣,或者想搭建类似的数据监控方案,欢迎在评论区交流。


编辑文章
Share this post on:

Previous Post
《AI使用完全指南》正式发布:一个普通人的AI进化之路
Next Post
AI选品实战:从数据小白到自动化运营的30天蜕变