第03章:小红书达人投放数据雷达
第03章:小红书达人投放数据雷达
小红书每年的品牌投放金额已经超过千亿,但大多数品牌和MCN机构还在靠"感觉"选达人。你能给他们数据,他们就愿意付钱。
谁需要达人数据
MCN机构(多频道网络):签约了一批达人,需要持续监控:
- 自家达人的粉丝增长趋势
- 竞争对手MCN旗下达人的表现
- 市场上哪些新兴达人值得签约
品牌投放方:
- 决定投哪个达人前,需要看历史笔记数据(互动率、涨粉速度)
- 投放后,追踪投放效果
数据中介(你可以扮演的角色):
- 整合以上两类用户的需求,提供定制数据服务
- 对MCN:每周发送竞品达人监控报告
- 对品牌:发布前出具达人质量评估报告
可以采集的公开数据
可以从小红书公开页面获取:
- 粉丝数量(公开可见)
- 笔记数量
- 历史笔记的点赞/评论/收藏数(公开可见)
- 内容类目标签
需要额外计算的指标:
- 平均互动率 = 近10篇笔记的(点赞+评论+收藏)/ 粉丝数
- 涨粉速度 = 本周粉丝 - 上周粉丝
- 内容类目占比
技术实现思路
# xiaohongshu_radar.py
import requests
import json
import time
import sqlite3
from datetime import datetime, date
def get_user_basic_info(user_id: str) -> dict:
"""
获取小红书用户基础信息
注意:实际爬取需要处理登录态和反爬,这里展示数据结构框架
"""
# 实际需要:登录Cookie、处理签名验证
# 以下为数据结构示例
return {
"user_id": user_id,
"nickname": "达人昵称",
"followers": 150000,
"following": 320,
"notes_count": 186,
"fetch_date": str(date.today())
}
def get_recent_notes(user_id: str, limit: int = 20) -> list:
"""
获取用户最近的笔记数据
返回每篇笔记的:标题、点赞、评论、收藏、发布时间
"""
# 数据结构示例
return [
{
"note_id": "xxx",
"title": "笔记标题",
"likes": 3200,
"comments": 145,
"saves": 890,
"publish_date": "2024-01-15",
"tags": ["护肤", "美妆"]
}
# ... 更多笔记
]
def calculate_engagement_rate(notes: list, followers: int) -> float:
"""计算平均互动率"""
if not notes or followers == 0:
return 0.0
total_engagement = sum(
note["likes"] + note["comments"] + note["saves"]
for note in notes
)
avg_engagement = total_engagement / len(notes)
return round(avg_engagement / followers * 100, 2)
def init_db():
conn = sqlite3.connect("xhs_radar.db")
conn.execute("""
CREATE TABLE IF NOT EXISTS influencer_snapshots (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id TEXT NOT NULL,
nickname TEXT,
followers INTEGER,
notes_count INTEGER,
avg_engagement_rate REAL,
snapshot_date TEXT,
UNIQUE(user_id, snapshot_date)
)
""")
conn.execute("""
CREATE TABLE IF NOT EXISTS tracked_influencers (
user_id TEXT PRIMARY KEY,
nickname TEXT,
category TEXT,
client_id TEXT, -- 哪个客户在监控这个达人
added_date TEXT
)
""")
conn.commit()
return conn
def generate_weekly_report(client_id: str, conn) -> str:
"""生成客户的达人周报"""
cursor = conn.cursor()
# 获取该客户追踪的达人
cursor.execute(
"SELECT user_id, nickname FROM tracked_influencers WHERE client_id = ?",
(client_id,)
)
influencers = cursor.fetchall()
report_lines = [f"## 达人数据周报 - {date.today()}\n"]
for user_id, nickname in influencers:
# 获取本周和上周的数据
cursor.execute("""
SELECT followers, avg_engagement_rate, snapshot_date
FROM influencer_snapshots
WHERE user_id = ?
ORDER BY snapshot_date DESC
LIMIT 2
""", (user_id,))
snapshots = cursor.fetchall()
if len(snapshots) >= 2:
this_week = snapshots[0]
last_week = snapshots[1]
follower_change = this_week[0] - last_week[0]
trend = "↑" if follower_change > 0 else "↓"
report_lines.append(
f"**{nickname}**\n"
f"粉丝:{this_week[0]:,}({trend}{abs(follower_change):,})\n"
f"互动率:{this_week[1]}%\n"
)
return "\n".join(report_lines)
定价方案
| 服务 | 目标客户 | 价格 |
|---|---|---|
| 基础达人监控(最多10人,周报) | 小MCN | ¥500/月 |
| 标准监控(最多50人,周报+异常提醒) | 中型MCN/品牌 | ¥1500/月 |
| 投放前达人质量报告 | 品牌方 | ¥300/份 |
| 定制分析(竞品达人深度分析) | 大MCN | ¥5000/次 |
本章小结
- 小红书达人数据雷达,面向MCN机构和品牌投放方
- 核心价值:把分散的公开数据整合成可以行动的周报
- 数据采集注意:需要处理登录态和反爬,技术复杂度中等
→ 第04章:政策补贴自动匹配系统