AI运营学习路线:用Python和飞书机器人搭一个内容效果看板
AI运营学习路线不要从背概念开始,先做一个能每天看数据的小工具。
本文用 Python 读取内容数据,计算点击率、阅读完成率等指标,再通过飞书机器人把结果推送到群里。
整个过程不需要 AI 算法基础,只要会复制命令和改配置即可。
先明确你要监控什么
运营日常最关心的通常是三件事:内容有没有人点、点进来有没有看完、看完有没有转化。
对应指标可以设为:
- 点击率:点击量 ÷ 曝光量,反映标题和封面的吸引力。
- 阅读完成率:完成阅读数 ÷ 阅读数,反映内容质量和篇幅是否匹配。
- 转化率:目标行为数 ÷ 阅读数,反映内容与落地页的衔接。
先选一个内容平台或自有后台,确认它能通过 API 或导出文件拿到曝光、点击、阅读、转化等字段。
如果没有 API,用 CSV 导出也可以,本文示例按 CSV 读取。
准备环境和依赖
在本地或服务器上安装 Python 3.8 以上版本,然后创建虚拟环境并安装依赖:
python3 -m venv venv
source venv/bin/activate
pip install pandas requests
准备两个文件:
content_data.csv:至少包含title,impressions,clicks,reads,completions,conversions六列。feishu_webhook.txt:粘贴飞书群机器人的 Webhook 地址,一行即可。
飞书机器人创建路径:飞书群设置 → 群机器人 → 添加机器人 → 自定义机器人 → 复制 Webhook 地址。
写脚本计算指标并推送
新建 daily_report.py,内容如下:
import pandas as pd
import requests
import json
# 读取数据
df = pd.read_csv('content_data.csv')
# 计算指标,避免除以零
df['ctr'] = df.apply(lambda r: r['clicks'] / r['impressions'] if r['impressions'] > 0 else 0, axis=1)
df['completion_rate'] = df.apply(lambda r: r['completions'] / r['reads'] if r['reads'] > 0 else 0, axis=1)
df['conversion_rate'] = df.apply(lambda r: r['conversions'] / r['reads'] if r['reads'] > 0 else 0, axis=1)
# 取点击率最高的前三篇
top3 = df.nlargest(3, 'ctr')[['title', 'ctr', 'completion_rate']]
# 组装飞书消息
lines = ['**今日内容效果 Top3**']
for _, row in top3.iterrows():
lines.append(f"- {row['title']}:点击率 {row['ctr']:.1%},完成率 {row['completion_rate']:.1%}")
payload = {
"msg_type": "text",
"content": {"text": "\n".join(lines)}
}
with open('feishu_webhook.txt') as f:
webhook = f.read().strip()
resp = requests.post(webhook, json=payload, timeout=10)
print(resp.status_code, resp.text)
保存后运行:
python daily_report.py
如果返回 200 和成功信息,飞书群会收到一条文本消息。
常见报错和避坑
FileNotFoundError:检查 CSV 和 Webhook 文件是否与脚本在同一目录,或改用绝对路径。KeyError:CSV 列名必须与代码中的字段完全一致,注意大小写和空格。- 飞书返回
19001或param invalid:Webhook 地址不完整或消息体格式不对,确认content字段是对象而不是字符串。 - 数据量很大时:先用
df.head(100)测试,确认逻辑正确后再跑全量。 - 指标为 0 或异常大:检查分母是否为零,代码已做除零保护,但源数据本身需要清洗。
验证与下一步
每天定时运行一次,观察飞书群消息是否稳定到达。
可以先用 crontab -e 添加定时任务:
0 9 * * * cd /path/to/project && /path/to/venv/bin/python daily_report.py
这条路线只覆盖了数据获取和推送,后续可以接入大模型对标题做自动评分,或根据指标异常触发告警。
但第一步先让数据跑通,比堆工具更重要。
常见疑问
没有开发经验能完成吗?
可以。本文代码不需要修改逻辑,只需替换 CSV 文件路径和 Webhook 地址。遇到报错优先检查文件路径和列名。
必须用飞书吗?
不是。企业微信、钉钉或邮件都可以替换,只需修改推送部分的请求地址和消息格式。
数据从哪来?
优先用平台后台导出 CSV,或用开放 API 拉取。如果平台不提供接口,手动整理固定格式 CSV 也能先跑通流程。