找到一个新号源、判断它值不值得抓,过去要「先入库 → 等 7 天抓取 → 看产出」才知道好坏;这套在 6/04 翻过车——把刚入库、评论还没抓进来的活号,误判成「0 评论死号」给停了。
新方法把这道判断闸门往前挪:入库之前就用本地 f2(国内 IP 直连抖音)实拉候选号最新视频的真实评论,分钟级看清「现在还能不能挖到新评论 / 评论里有没有装修意向」,再决定入不入、入了之后优先抓谁。
这套方法 6/05 又跑了一整轮(第二批),结果比首批(5/30)更猛,也暴露了几条运营必知的坑,记在这里:
| 阶段 | 这次的真实数 |
|---|---|
| 搜索候选 | 5 个关键词(装修日记 / 全屋定制 / 懒人装修 / 晒新家 / 小户型改造)→ 捞到 304 个作者 → 去掉已入库的 → 279 个新候选 |
| 挑脉 | 从 279 里挑出「个人装修日记 / 晒家」这条脉(首批金矿「一只芋圆仔」就是这型)→ 98 个个人日记号 |
| f2 富化 | 实拉这 98 号的真实互动 → avgC≥150 且近 45 天活跃的 = 22 个金矿号 |
| 入库 | ✅ 22 个全部入库(TAG=douyin-search-20260605),worker 自动抓评论,6/12 做效果检查 |
这 22 个号的评论池有多大(avgC = 平均每条视频多少评论):一口的装修日记 40198 · 100个中国女孩的家 16500 · 小陈同学装修vlog 11927 · 玉妈装修日记 5185 · 追同学装修日记 5075……光 avgC>1000 的就 15 个,比首批整批才 16 条可触达 leads 强得多。「个人装修日记」这条脉选对了——这型号评论区清一色「哪家定制 / 多少钱 / 能联系吗」,全是真买家。
本页出现的专业词,都在这用人话解释一遍,例子全用我们今天真跑出来的号。看正文遇到不懂的词回这查。
| 词 | 大白话 + 我们的例子 |
|---|---|
| 号源 | 我们要去抓评论、找客户的那些抖音账号。比如「一口的装修日记」就是一个号源。号源库 = 所有这些号的清单。 |
| f2 | 一个工具,能让我们的程序「伪装成正常浏览器」去问抖音要数据(评论数、视频列表)。靠它在本机直接拉到真实数据。 |
| 本地 / 国内 IP vs 东京 worker | 我们干活的服务器在东京,被抖音的防火墙挡住、拉不到数据;换成你本机(国内网络)去拉就能拿到。所以富化/实拉都在本机跑。 |
| sec_uid | 抖音号的唯一身份证号(一串 MS4w... 的码)。认号靠它不靠名字——名字会重复(光「装修日记」就好几个),sec_uid 不会。 |
| avgC (avg_comments) | 平均评论数:拉这个号最近 5 条视频,平均每条多少评论。= 评论池子多大 = 能挖多少潜在客户。例:一口的装修日记 avgC 40198(每条视频平均 4 万评论)。 |
| 几天前更 (days_since_last) | 距这个号上次发视频过了几天。越小越活跃,新视频=新评论=新客户在涌入。我们只留 45 天内更新过的,停更死号筛掉。 |
| 名字分 (score0) | 只看号名瞎猜的初始分,基本没用。例:「一口的装修日记」名字分 -5(被当垃圾号),实际是 avgC 4 万的头号金矿。所以不靠名字分拍板,靠实拉数据。 |
| 富化 | 给候选号补上真实数据(实拉它最近视频的评论数、更新频率)。光有名字看不出死活,富化后才知道哪个是矿、哪个是死号。 |
| 意向打分 / 高意向 | AI 给每条评论打分,判断这人是不是真想买。「这是哪家定制的呀」「多少钱」=高意向(真客户);「[赞][赞]」=无关。高意向评论 = 可以去私信触达的 leads。 |
| 在题 / 偏题 泛流量 | 在题=这号的评论真在聊装修(能出客户);偏题/泛流量=号很火评论很多,但聊的是生活/美食/段子,挖不出装修客户。要的是在题号。 |
| tier0 / tier1 | 抓取勤不勤的档位。tier1(高频)= 好号,每小时抓一次;tier0(常规)= 普通号,几小时抓一次。验证出高产的号会升 tier1。 |
| 入库 / source_accounts | 把号写进号源库(数据库里的 source_accounts 表),worker 就会开始定时去抓它的评论。今天 22 个号入库 = 写进了这张表。 |
| 打标 / TAG (category_legacy) | 给这批号贴个批次标签,例 douyin-search-20260605。7 天后按这标签一查,就知道「6/5 这批」产出咋样。 |
| org_id | 「这号属于哪个客户」的标签。系统同时服务多个客户、各管各的;号没贴 org_id 会被抓取程序当「来路不明」跳过不抓(首批栽过这坑)。 |
| worker / 抓取队列 | worker = 在云上自动干活的程序,负责去抖音抓视频和评论。入库后号进「抓取队列」排队,worker 轮流抓。 |
| 实拉验证 (阶段2) | 入库前先用 f2 拉这号最新视频的真实评论、打意向分,预检它到底出不出客户。可选项——被限流时可跳过,直接入库走 7 天管道验证。 |
| 7 天管道 / 效果检查 | 号入库后,worker 抓一周评论,第 7 天用脚本按批次标签查这批的真实产出(多少评论 / 多少高意向 / 出了多少可触达客户)。这才是定好坏的终审。 |
| 串行 / 并发 (conc) | 串行=一个个排队来(conc=1);并发=同时开好几路(conc=6)。f2 富化必须串行——今天图快开并发把抓取搞崩 + 触发限流,教训。 |
| 限流 | 抖音发现你短时间问得太频繁,就临时不给数据(返回空)。今天开并发猛拉触发了它,得放慢/等冷却才恢复。 |
| CDP / 监听接口 | CDP=用程序遥控 Chrome 浏览器。搜索时网页会偷偷向抖音要作者列表(接口请求),我们监听这个请求就拿到了候选号清单。 |
| dry-run | 空跑预演:只打印「会入哪些号」给你看,不真改数据库。确认没问题再加参数真写库。今天入库前就先 dry-run 给你看了 22 个清单。 |
| WAF / 反爬 | 抖音的反爬防火墙,专挡程序自动抓数据。东京服务器被它挡死,本机国内 IP + f2 签名能绕过。 |
原来的扩源链路是:搜到号 → 按名字打分 → 入库 → 挂进 7 天抓取队列 → 用「我们 DB 里近 7d 抓到的评论数」判好坏。6/04 这套连环踩了三个坑,把活号判成死号:
| 坑 | 表现 | 为什么错 |
|---|---|---|
| ① 名字分误杀 | 搜索源不返回 follower / aweme_count,discover-v3.py 的 zombie 规则给这些号扣到 -5 | 名字看不出死活;后面会看到,名字分 -5 的号反而是评论巨矿(拾点 avgC 25517) |
| ② 历史总评论 ≠ 现在能挖 | 拿 fetch_aweme_stats 的 comment_count(视频历史累计转赞评)当号源质量指标 | 衡量的是「这号火过没」,不是「现在还能不能挖到新评论」——一个停更半年的爆款号历史评论很高,但已经挖不动了 |
| ③ DB 滞后被当死号 | 号刚入库、worker 还没抓,DB 里近 7d 评论 = 0,效果脚本自动盖「☠️ 死号 deactivate」 | 评论还没抓进库不等于号死。叠加复抓 24h 窗口丢老评论,老视频在库里看起来就是 0 评论 |
新方法不改打分/分类/tier 那套系统,只把「先入库再验」改成「入库前先用本地 f2 实拉看真数据」。两个关键技术点:
a_bogus 签名 httpx 能拉到;东京 worker 被 Douyin WAF 的 JS PoW 挡(签名也只返回 200+0B)方法论 v2 · 阶段 0–3 闭环:
_douyin-search-score.py 出 0–100 名字分 + dedup。名字分只当入池线索,不当拍板依据。post_api.fetch_user_posts(视频列表 + 发布时间 → 更新频率)+ comment_api.fetch_aweme_stats(单视频转赞评)→ 拿到 last_pub / days_since_last + 更新频率 posts_7d / posts_30d + 互动 avg_comments_7d / avg_comments_30d / avg_digg_7d / avg_digg_30d(评论量、点赞分 7 天和 30 天两个窗口)。入库阈值挂评论量(≥150),不挂名字分。comment_api.fetch_comments 拉在题号最新 3 条视频(不是 1 条)的真实评论 → 喂 production 意向分类器(deepseek-v4-flash + Langfuse prompt)→ 看高/中意向占比。这一步把「评论多但偏题/稀释」的泛流量号筛掉。org_id 必填 / category_legacy 打标 / is_active=true)→ enqueue scrape_jobs → 照常走视频发现 + 评论抓取 + analyze。验证出高产的(如一只芋圆仔)直接升 tier1 高频抓。source-cohort-yield.py 按 TAG 查这批近 7 天的真实产出(总评论 / 高意向 / 高意向占比 / 可触达 leads / 该升 tier1 的号)。给 worker 一周时间把评论抓全,这时的数才作准。已拉批次 · 各自什么时候 check 结果(每批入库即自动排 T+7 提醒,满 7 天查):
| 批次 TAG | 入库号 | 类型构成 | T+7 检查日 | Lark 提醒 |
|---|---|---|---|---|
douyin-search-20260530 | 16 | 早期混合批 | 2026-06-11 | ✅ 已排 |
douyin-search-20260605 | 22 | 业主日记 22(一口的装修日记等) | 2026-06-12 | ✅ 已排 |
douyin-search-20260606 | 9 | 业主日记 3 + 本地号 6(旧改服务号) | 2026-06-13 | ✅ 已排 |
douyin-search-20260607 | 10 | 装修vlog 脉 10(实拉验证给了负信号,按 avgC≥150 保量入库,T+7 严判) | 2026-06-14 | ✅ 已排 |
douyin-search-20260607-intent | 6 | 「高评论动态→主页评估」法首批(全部过入库前意向终审,详见下方新方法节;当晚两轮:业主晒家主题 5 + 钱字头主题 1) | 2026-06-14 | ✅ 已排 |
douyin-search-20260608 | 26 | 晒家/我的家·装修日记脉 26(个人 21 + 商家 5,已剔 4 死号)。回到老「用户搜索」track 的保量批:阶段 2 实拉撞限流只测 5 号 186 条、可触达 1.1% 给负信号,按 avgC≥150 保量入库,T+7 严判 | 2026-06-15 | ✅ 已排 |
douyin-search-20260609 | 17 | 业主日记 6 + 避坑/翻车知识号 11。本批阈值 avgC≥150→≥80 放量(保「10 号/日」底线):全富化 212 号 → ≥80 共 51 → 剔死号 20 + 同行 8 + C 档存疑 6 → 入库 17。验房 / 榻榻米定制两词 0 产(低互动服务号 / 工厂同行) | 2026-06-16 | ✅ 已排 |
douyin-search-20260610 | 40 | 业主装修日记/晒家脉 40(原木风 15 + 奶油风 12 + 复式 6 + loft 6 + 玄关柜 1)。回到 avgC≥150 严阈(非 6/08–6/09 的 ≥80 放量):富化 210 → 过线 68 → 剔死号 22 + 同行/测评 6 → 入库 40。玄关柜(全屋定制脉)仅 1 产(同行噪声大);实拉跳过(撞 IP 限流) | 2026-06-17 | ✅ 已排 |
douyin-search-20260612 | 9 | 业主新家/我的家脉 4(守护我的家 avgC1432 等)+ 装修vlog 5(yoyo avgC5198 / 顾小姐 / 到位哥 / Blues / 许宜加)。当日未达 20/10 标:两轮捞 400 → 富化 312 → avgC≥150 仅 34 → reject 273(多为 30d 无新视频的降温僵尸号 + 晒字噪声)→ 入库 9 / 升 tier1 6。美国 IP 走 seed-ttwid 绕法、实拉跳过(候选紧+限流风险);首轮水电/拆改词低产、补跑高脉「我的家/晒家/装修日常/入住新家/晒新家」才出 4 自动入 | 2026-06-19 | ✅ 已排 |
查的时候跑 TAG=<批次> python3 scripts/source-cohort-yield.py。脚本已加宽限期:入库不满 9 天的号即使暂时 0 产出也只推「🆕新号观察中」,不推死号——避免 worker 还没抓够就误杀活号。
按日进度 · 上周 → 本周(连续日志,每日扩源后更新)
上周=6/04–6/07(周四–周日)· 本周=6/08(周一)起;5/30 为前情。「产出」列= cohort-yield 近 7d 实时数,未到 T+7(入库满 7 天)都是中途数;最近回流快照 2026-06-07 晚。
| 日期/批次 | 当日动作(捞号→新号→入库) | 近7d评论 | 高意向 | 高% | 可触达 | 当日要点 |
|---|---|---|---|---|---|---|
| 5/30(前情) | 首批 25 候选 → 入库 16(现 active 10) | 331 | 7 | 2.1% | 6 | 一只芋圆仔 ⭐tier1(3.9%);6 号已淘汰 |
| 6/04 | 方法首次验证跑通(CDP 搜词 + 本地 f2 实拉),未单独入库 | – | – | – | – | 「入库前实拉验证」闸门定型 |
| 6/05 | 捞 304 → 入库 22(业主装修日记脉) | 1512 | 24 | 1.6% | 12 | 曾师傅装修日记 ⭐tier1(8.0%);「个人装修日记」脉首验出矿 |
| 6/06 | 捞 344 → 入库 9(旧房改造 + 毛坯入住脉) | 134 | 14 | 10.4% | 12 | 本周最优脉:旧房改造号 6/6 留存建议、最高单号 25%;评论少但纯度极高 |
| 6/07 早 | 捞 336 → 新 284 → vlog 脉富化 99 → 入库 10 | 0 | 0 | – | 0 | 「装修vlog」脉实拉证伪(341 条评论 0 高 3 中=自装工艺粉);入库 10 为保量批,评论还没回流 |
| 6/07 晚 | 动态法两轮验证 18 号 ~650 条评论 → 入库 6(-intent 批) | – | 9 | 1.4% | 28 | 「高评论动态→主页评估」新法首战告捷:大橘的家可触达 24.4% 超 tier1 基准;第二轮钱字头词再中斯斯装修避坑(8.9%);用户搜索 track 同晚仅 1 边缘合格——动态法完胜(此行高/可触达列=入库前验证样本数,非 DB 回流数) |
| 6/08 | 捞 312 → 新 299 → avgC≥150 富化 30 → 剔 4 死号入库 26 | 实拉受限 | – | – | – | 「晒家/我的家」保量批;阶段 2 撞 f2 IP 限流只测到 5 号 186 条、可触达 1.1% 亮黄灯(小样本、限流砍样本);产出待 6/15 cohort-yield 真实回流。若持续低则下轮 pick 给该脉降权、换钱字头 |
| 6/09 周二·本周 | 捞 245 → 新 212 → 全富化 212 → avgC≥80 筛 51 → 剔死号 20 + 同行 8 入库 17 | 待回流 | – | – | – | 阈值 150→80 放量保「10 号/日」底线(A 业主日记 6 + B 避坑翻车 11);验房 + 榻榻米定制 0 产(低互动服务号 / 工厂同行),避坑 / 翻车 / 大平层出货;实拉跳过,产出待 6/16 cohort-yield 回流 |
| 6/10 周三·本周 | 捞 220 → 新 210 → 全富化 210 → avgC≥150 筛 68 → 剔死号 22 + 同行 6 入库 40 | 待回流 | – | – | – | 回到 avgC≥150 严阈(量够不放水);词=玄关柜/复式/loft/奶油风/原木风,原木风 15 + 奶油风 12 出货最多,玄关柜全屋定制脉仅 1(同行噪声);实拉跳过(限流);产出待 6/17 cohort-yield 回流 |
| 6/12 周四·本周 | 两轮捞 400 → 富化 312 → avgC≥150 仅 34 → 入库 9(自动入 4 + 确认在题 5) | 待回流 | – | – | – | ⚠️ 未达 20/10 标(实 9 入库 / tier1 6)。首轮词偏水电/拆改(低评论过程号、名字不命中脉),补跑高脉「我的家/晒家/装修日常/入住新家/晒新家」才出 4 自动入;「晒」字误捞大量晾晒/防晒/食品/钣金噪声。reject 273 多为 30d 无新视频的降温僵尸号(高 avgC 是历史值)。美国 IP 走 seed-ttwid 绕法(0 致命超时);实拉跳过;产出待 6/19 cohort-yield 回流 |
| 6/13 周五·本周 | 捞 301 → 新 243 → 富化(2 轮重试穿隧道丢包)→ split 自动入 6 → 剔 1 电工号 + 提 2 业主号 → 入库 7(全升 tier1) | 宽限期 | – | – | – | US 隧道 62% 富化丢包,重试补;入库 7 全业主晒家号、全 tier1;未达 20/10(隧道限,非缺好号);产出待 6/20 回流 |
| 6/14 周六·本周 | 捞 312 → 新 288 → 富化(3 轮重试)→ 自动入 3 + 提 2 业主号 → 入库 5(3 升 tier1) | 宽限期 | – | – | – | 同隧道限:48 个业主好号埋在 None 拉不到 avgC;入库 5(3 tier1);未达 20/10;产出待 6/21 回流。结论:本地 f2 被 US 隧道卡死,飞瓜/新抖导出是解 |
| 上周小计 6/05–6/07 | 入库 47(6/05:22 · 6/06:9 · 6/07早:10 · 6/07晚:6;6/04 验证未入库) | 1977 | 45 | 2.3% | 30 | 产出列=已回流 cohort(5/30 前情 + 6/05 + 6/06)快照;出矿脉 2(旧改纯度王 10.4% / 个人日记量价平衡)+ 新方法 1(动态法),证伪 1(装修vlog)。6/07 批待 6/14 回流 |
| 本周累计 6/08 起 | 入库 104(6/08:26 · 6/09:17 · 6/10:40 · 6/12:9 · 6/13:7 · 6/14:5;6/11 无新扩源批) 全程在库 177(含前情 16,active 171) | 见快照↓ | – | – | – | 6/08–6/09 走「avgC 放量保量」,6/10 回到 avgC≥150 严阈仍入 40;6/12–6/14 连续未达 20/10(6/12 高脉号稀缺;6/13–6/14 US 隧道富化丢包 62%)。各批真实产出见下方累计效果快照 |
📊 累计效果快照(截至 2026-06-14 · 全部 douyin-search-* 批次 · DB 实查)
不是 7d 滚动窗口,是每批入库以来的累计真实下游产出(视频/评论/高意向/转化)。复现:worker/.venv/bin/python scripts/_source-mining-effect-cumulative.py。
| 批次 | 入库 | t1 | 有视频 | 视频 | 评论 | 高意向 | 高意向占比 | 已联系 | 可触达 | 备注 |
|---|---|---|---|---|---|---|---|---|---|---|
| 5/30(前情) | 16 | 1 | 16 | 171 | 578 | 12 | 2.08% | 1 | 11 | 首批,一只芋圆仔 tier1 |
| 6/05 | 22 | 2 | 22 | 225 | 3659 | 53 | 1.45% | 21 | 32 | 量产标杆:评论最多、实战已联系最多(21) |
| 6/06 | 9 | 3 | 9 | 132 | 245 | 21 | 8.57% | 2 | 19 | 旧改/毛坯脉,高纯度 |
| 6/07 | 10 | 0 | 10 | 79 | 245 | 0 | 0.00% | 0 | 0 | 证伪:装修vlog 脉 0 高意向(坐实当初实拉负信号) |
| 6/07-intent | 6 | 2 | 6 | 85 | 1861 | 35 | 1.88% | 9 | 26 | ROI 之王:意向预筛法 6 号出 35 高意向(5.8/号,碾压保量批 ~0.45/号) |
| 6/08 | 26 | 1 | 23 | 266 | 1086 | 12 | 1.10% | 0 | 12 | 晒家/我的家保量批 |
| 6/09 | 17 | 0 | 17 | 159 | 1039 | 10 | 0.96% | 0 | 10 | avgC≥80 放量批 |
| 6/10 | 40 | 1 | 38 | 297 | 734 | 18 | 2.45% | 1 | 17 | 原木风/奶油风出货最多 |
| 6/11 | 10 | 2 | 10 | 80 | 207 | 3 | 1.45% | 0 | 3 | (DB 有此 TAG,by-day 日志当时未单列) |
| 6/12 | 9 | 6 | 6 | 49 | 294 | 6 | 2.04% | 0 | 6 | 装修高脉号稀缺批 |
| 6/13 | 7 | 7 | 7 | 119 | 217 | 1 | 0.46% | 0 | 1 | 🆕宽限期(入库 1 天),产出待回流 |
| 6/14 | 5 | 3 | 3 | 25 | 54 | 0 | 0.00% | 0 | 0 | 🆕宽限期(入库当天),产出待回流 |
| 合计 | 177 | 28 | 167 | 1687 | 10219 | 171 | 1.67% | 34 | 137 | 94% 号有产出 |
口径:高意向=评论 intent_score≥80(去重到唯一用户);可触达=高意向用户中 status≠contacted(还没发触达);已联系=其中已 contacted。6/13、6/14 数低是因仍在 GRACE_DAYS=9 宽限期、worker 还没抓够,不代表号差。
老路是「搜用户→按名字筛号」;新路反过来:「搜动态(视频)→挑评论爆的→顺着进作者主页评估」。逻辑很朴素:评论多的装修动态,评论区本身就是买家聚集地——尤其「花费清单 / 装修全流程 / 硬装预算」这类钱字头主题,围观的全是正在做装修决策的人。
| 步骤 | 做什么 | 工具/口径 |
|---|---|---|
| 1 搜动态 | CDP 真浏览器搜关键词(type=video),监听 search/item 接口抽每条动态的评论数/收藏数/作者 | 免费,~2min/4词,单轮可捕 ~180 条动态 |
| 2 初筛 | 留「30 天内发布 + 评论 ≥50」的动态,作者 sec_uid 对 DB 排重,名字正则剔商家/同行 | 183 → 26 条(6/07 实测) |
| 3 主页评估·身份+活跃 | 进作者主页(f2 拉最新 3 条视频):① 个人业主号而非商家;② 14d 内有更新;③ 评论量不是「一条爆款其余冷清」的一波流 | f2 post 接口(与评论接口不同限流池) |
| 4 意向终审(定生死) | 实拉该作者热门动态评论喂 production 意向分类器,按可触达占比(高+中意向)排名——≥4% 且 ≥2 条才入库,不再看 avgC | CDP 拉评论 + deepseek 打分,几分钱/批 |
| 5 入库 | 独立 TAG(-intent 后缀)入库,T+7 与「保量批」对照检验 | import 脚本 --input --tag |
首战成绩(6/07 晚 · 双 track 同晚对照):
| 号源 | 可触达% | 高 | 中 | 样本 | 来源 track | 处置 |
|---|---|---|---|---|---|---|
| 大橘的家🏠(软装中) | 24.4% | 0 | 11 | 45 | 动态法 | ✅ 入库(超 tier1 基准 17.8%) |
| 远远装修日记 | 10.4% | 1 | 4 | 48 | 动态法 | ✅ 入库 |
| 婷婷(预算贴) | 8.6% | 2 | 1 | 35 | 动态法 | ✅ 入库 |
| 谭胖胖的家🏠 | 2.9% | 1 | 0 | 35 | 用户搜索 | ✅ 入库(有真高意向) |
| 佳姐装修日记 | 2.7% | 2 | 0 | 75 | 动态法 | ✅ 入库(单视频 2286 评,绝对量大) |
| 斯斯装修避坑(第二轮·钱字头词) | 8.9% | 3 | 1 | 45 | 动态法 | ✅ 入库(避坑/合同/预算干货号=决策期人群磁铁,日更;高意向含「下月交房200平预算300w求好公司」) |
| 其余 9 号(小可爱/糖果/悦悦等) | 0% | 0 | 0 | ~265 | 用户搜索为主 | ❌ 不入库 |
① 我们 6 月新批 · 早期意向四档(2026-06-06 快照,高/中意向占比已拆开;三批都没到 T+7,是未成熟中途数):
| 批次 | 近7d评论 | 高意向 | 高% | 中意向 | 中% | 低 | 无关 |
|---|---|---|---|---|---|---|---|
…20260530(16号) | 295 | 6 | 2.0% | 19 | 6.4% | 31 | 239 |
…20260605(22号) | 662 | 12 | 1.8% | 46 | 6.9% | 50 | 554 |
…20260606(9号) | 0 | 0 | – | 0 | – | 0 | 0 |
| 合计 | 957 | 18 | 1.9% | 65 | 6.8% | 81 | 793 |
② 基准对比 · 按 tier/来源(互斥 cohort · 全量·按高意向% 降序) · 完整方法论/取数路径见 repo docs/analysis/source-intent-baseline-2026-06-06.md
| Cohort(号源之间不重合) | 号 | 近7d评论 | 高% | 中% | 低% | 无关% |
|---|---|---|---|---|---|---|
| A·tier1 长跑(已验证好号·上限基准) | 92 | 13058 | 4.6% | 13.2% | 15.8% | 66.2% |
| D·tier0 其他/同行历史 | 676 | 8317 | 2.9% | 12.2% | 8.7% | 76.1% |
| B·tier0 蝉妈妈历史 | 275 | 6510 | 2.7% | 4.5% | 7.2% | 85.6% |
| C·tier0 抖音搜索 6月新批(我们的) | 40 | 1220 | 1.7% | 6.9% | 6.8% | 84.6% |
③ 类别细分 · 更新频率 + 近7d 意向(全量 active 号 · 按高意向% 降序)
| 类别 | active号 | 7d发片 总(人均) | 30d发片 总(人均) | 近7d评论 | 高% | 中% | 低% | 无关% |
|---|---|---|---|---|---|---|---|---|
| 本地号 | 515 | 157 (0.3) | 3469 (6.7) | 12831 | 4.1% | 13.1% | 11.8% | 71.0% |
| 知识号 | 112 | 46 (0.4) | 935 (8.3) | 6929 | 3.5% | 10.9% | 16.7% | 68.7% |
| 工厂号 | 191 | 63 (0.3) | 1392 (7.3) | 1354 | 3.4% | 14.8% | 3.5% | 78.2% |
| 全屋定制 | 189 | 94 (0.5) | 2035 (10.8) | 4886 | 2.8% | 5.7% | 8.2% | 83.3% |
| 设计号 | 8 | 5 (0.6) | 58 (7.3) | 142 | 2.8% | 4.2% | 25.4% | 67.6% |
| 品牌号 | 28 | 8 (0.3) | 211 (7.5) | 395 | 2.3% | 8.1% | 7.6% | 82.0% |
| 业主日记(我们新脉) | 26 | 3 (0.1) | 75 (2.9) | 1046 | 1.9% | 7.6% | 6.5% | 84.0% |
| 平台号 (仅 1 号「一起装修网」· 样本太小·不参与排序) | 1 | 0 (0) | 11 (11) | 12 | 8.3% | 8.3% | 8.3% | 75.0% |
source_accounts 表里 is_active=true(在抓取轮转里、worker 每隔几小时会去抓它新视频评论)的一个抖音号源——即我们去抓评论、找潜客的一个抖音账号,按它的 category 字段归类。「人均发片」= 该类总发片数 ÷ 该类 active 号数。读:本地号高意向 4.1% 最高(平台号 1 个号样本太小忽略),知识号/工厂号次之;全屋定制类别高意向只 2.8%(商家自卖稀释,故扩源该维度走加严过滤剔商家);业主日记高意向 1.9% 暂垫底但人均发片最低(7d 0.1)——个人号更新慢、多数才入库 1 天未成熟。
⚠️ 全部 T+7 前快照,满 7 天(6/11–6/13)的数才作准,别据此判废。
① 名字分 vs 真实评论量:强反差(f2 富化 23 号,按 avg_comments 排序,节选)—— 名字带「设计师」分高的评论垫底,名字分 -5 的反而是矿:
| 号 | 名字分 | avg 评论 | avg 点赞 | 近30天视频 | 最近更新 |
|---|---|---|---|---|---|
| 拾点 | -5 | 25517 | 533781 | 5 | 05-28 |
| 咕噜苗 | -5 | 8855 | 501812 | 6 | 05-28 |
| 李小冷不冷 | -5 | 4726 | 140106 | 7 | 05-28 |
| 居里富人 | -5 | 3389 | 105960 | 3 | 05-22 |
| 设计师·华生 | 20 | 1891 | 1 | 05-18 | |
| 一只芋圆仔 ⭐ | -5 | 736 | 32991 | 9 | 05-28 |
| 设计师想想Echo | 7 | 134 | 14517 | 2 | 05-13 |
| 独立设计师-老李 | 7 | 5 | 145 | 7 | 05-26 |
读法:名字分高的「设计师·华生 / 想想 / 老李」avgC 只有 5~1891;名字分 -5(搜索源缺 aweme_count 被 zombie 误杀)的拾点 / 咕噜苗反而是评论巨矿。金矿号「一只芋圆仔」名字分也是 -5,avgC 仅 736 不算高,却是后面意向产出最高的号 → 评论量是入池信号,但真好坏还得看意向。
是 _douyin-search-score.py 里一套纯按号名加减分的规则(满分约 100):名字带「设计师_/设计师·」+25、带「讲装修/聊装修」+20、带「装修帮/避坑」知识词 +15、命中重点城市 +10;近 30 天发 0 视频判僵尸号 −5、带「工厂/批发」−15、带「小店/百货」−10。
还在跑——它是阶段 0 的一步,每天捞完号都过一遍。但只当「入池线索 + 去重」用,不当拍板依据:搜索源不返回粉丝/视频数,僵尸号规则会把好号误扣到 −5(一只芋圆仔就是 −5 的金矿)。所以真正决定入不入库的是阶段 1 富化的真实评论量,不是这个名字分。它的价值是排序展示 + 标记「已在库」去重,不是质量裁判。
② 筛选漏斗:从 25 候选到 16 条可触达 leads:
avg_comments ≥ 150 入库 16 个(砍掉 7 个低互动:想想Echo 134 / 李晶晶 104 / 吴文涛 81 / 老李 5 / 团子严选 0 等)拾点 25517咕噜苗 8855秋天不爱家 6037真真真ing 5069一只榴莲壳🏠 4353孜孜的小窝🏠 1438
注意 avgC 高 ≠ 一刀切砍:李小冷不冷 avgC 高达 4726 但实拉出 3 条在题中意向 leads → 保留;拾点 avgC 25517 但是泛生活爆款 → 砍。判据是实拉评论在不在题,不是评论量大小。
③ 16 条可触达 leads 明细(高 / 中意向,按分排序):
| 分 | 意向 | 来源号 | 地区 | 评论原文 |
|---|---|---|---|---|
| 85 | 高 | 一只芋圆仔 | 新疆 | 这是哪一家定制的呀 |
| 78 | 中 | 一只芋圆仔 | 江苏 | 找的哪家定制。能推荐一下吗 |
| 78 | 中 | 一只芋圆仔 | 河南 | 哪里定制,急需 |
| 78 | 中 | 一只芋圆仔 | 山东 | 我想装这种怎么能联系到~ |
| 78 | 中 | 一只芋圆仔 | 浙江 | 这个在哪里定做呢? |
| 78 | 中 | 一只芋圆仔 | 湖北 | 鞋柜收纳、橱柜、餐桌多少💰 |
| 78 | 中 | 一只芋圆仔 | 江苏 | 以后装修可以找您设计嘛 |
| 78 | 中 | 一只芋圆仔 | 福建 | 多少平米 |
| 78 | 中 | 一只芋圆仔 | 新疆 | 这一套多少钱 |
| 78 | 中 | 一只芋圆仔 | 山东 | 可以接活吗 |
| 78 | 中 | 李小冷不冷 | 四川 | 想让你两个来帮我设计了 |
| 78 | 中 | 李小冷不冷 | 河南 | 洗衣机踩脚凳是全屋定制吗贵吗 |
| 78 | 中 | 李小冷不冷 | 四川 | 木头门在哪里找的呀 求求了 |
| 78 | 中 | 土豆饼(设计) | 广西 | 这个电视背景墙用的啥 |
| 78 | 中 | 二首灵感大王 | 江苏 | 这样的硬装大概多少米? |
| 68 | 中 | 居里富人 | 辽宁 | 挂画是哪家的 |
5 个验证号的产出对比:一只芋圆仔 41 评论 / 10 leads(命中率最高)· 李小冷不冷 53 / 3 · 土豆饼 18 / 1 · 二首灵感大王 52 / 1 · 居里富人 12 / 1。「一只芋圆仔」是装修日记号(J 人懒人全屋装修),评论区清一色「哪家定制 / 多少钱 / 能联系吗」——这正是最值钱的潜客信号,故升 tier1。
这次翻车的根因是「用错指标判死活」。固化下来的验证口径:
| 判什么 | ❌ 别用 | ✅ 要用 |
|---|---|---|
| 号还能不能挖到新评论 | 历史总评论 comment_count(火过没)我们 DB 里近 7d 评论数(滞后/没抓) | 本地 f2 fetch_comments 实拉最新视频的新鲜评论数 |
| 评论值不值钱 | 评论绝对数量(泛流量号也很多) | 实拉评论喂意向分类器 → 看高/中意向占比 |
| 号好不好(入库后) | 单看名字 / 单看一次抓取 | source-cohort-yield.py 看批次近 7d 真实产出(总评论/高意向/占比/可触达) |
source-cohort-yield.py 原来按「DB 近 7d 评论数」判废,会枪毙刚入库/抓取滞后的活号(踩坑 ③ 同款)。已加 GRACE_DAYS=9:入库不满 9 天的号即使暂时 0 产出也只推「🆕新号观察中」,不推死号,给 worker 抓够时间。满 9 天仍 0 产出的才进入正常判废,且判废建议仍建议人工复核(脚本只出推荐、不自动 deactivate)。全程本地跑(.venv 里 f2 0.0.1.7 + httpx 0.27.2;cookie 从 accounts.cookie_data 取任一 active 号)。按阶段 0→3:
阶段 0 · 搜索候选 → 名字分
# CDP Chrome 手动搜词(Enter 不触发,必须点搜索按钮),监听作者列表 python3 scripts/chanmama/_douyin-search-score.py # → outputs/douyin-search-scored-{date}.json(每条带 sec_uid / nickname / _score)
阶段 1 · 本地 f2 富化(看更新频率 + 转赞评)
cd worker .venv/bin/python -u _enrich-candidates.py # → outputs/douyin-search-enriched-{date}.json # 字段:last_pub / days_since_last / posts_30d / posts_90d / avg_comments / avg_digg
阶段 2 · 实拉验证(拉在题号新鲜评论 → 意向打分)
# ① worker 端 f2 实拉评论 → /tmp/_leads_raw.json(KEEP 集合 = 在题号白名单) cd worker && .venv/bin/python -u _pull-leads-for-scoring.py # ② 喂 production 意向分类器(deepseek-v4-flash + Langfuse prompt) pnpm tsx scripts/_score-leads-f2.ts # → outputs/douyin-search-{date}-leads-scored.json(高/中/低/无关 + type + reason)
阶段 3 · 入库 + 触发抓取
# dry-run 先看会入哪些(默认最新 scored json) python3 scripts/chanmama/import-douyin-search.py --min-comments 150 # 真入库:写 source_accounts(org_id 必填 / category_legacy 打标 / is_active=true) python3 scripts/chanmama/import-douyin-search.py --min-comments 150 --no-dry-run # → outputs/douyin-search-{date}-trigger-list.json 给 worker fan-out enqueue
入库后 · 队列效果检查(6/11 routine 同款,stdlib only)
cd /Users/fanny/Akke # 先 load .env.local TAG=douyin-search-20260530 python3 scripts/source-cohort-yield.py # 按 category_legacy 批次拉近 7d:总评论 / 高意向 / 占比 / 可触达 / tier1 候选
_ 前缀约定:_enrich-search-authors.py / _pull-leads-for-scoring.py / _score-leads-f2.ts 是一次性诊断桥,带 _ 前缀(被 gitignore,不堆积 worktree);import-douyin-search.py / source-cohort-yield.py 是进 prod 路径的常驻脚本,不带前缀。① 和现有号源机制:同一套表 / 同一套打分 / 同一套 tier,只是闸门前移
| 环节 | 现有机制 | 新方法接在哪 |
|---|---|---|
| 入库表 | source_accounts(org_id / category_legacy / is_active / tier) | 新方法直接写这张表,字段口径不变——下游完全无感 |
| 质量分 | 入库后 5 维实时算(视频数 / 更新频率 / 评论总数 / 高意向占比 / 高意向条数) | 新方法的 f2 富化是这 5 维的「入库前预览版」:avg_comments→评论维度、posts_30d→更新频率、实拉意向→高意向占比 |
| tier 分级 | tier0 常规(3–4h/轮)/ tier1 高频(1h/轮,走 scrape-hot);按近 7d 高意向贡献升 tier1 | 实拉验证出高产的(一只芋圆仔)直接升 tier1,不用等 7d 队列回流确认 |
| 获取渠道 | 蝉妈妈(已封)/ 飞瓜(未注册)/ 抖音搜索(主力) | 新方法是抖音搜索渠道的「入库质检」加强版——搜索能找到号,f2 富化补上「按数据精筛」的能力 |
② 和视频机制:入库后照常进抓取流水线,富化数据反哺复扫优先级
import-douyin-search.py 写 source_accounts + 出 trigger-list/api/cron/scrape 给每个 active 源写一条 scrape_jobsqueue.py 认领 → discover_videos_from_profile 发现视频 → scrape_video_comments 抓评论入库/api/cron/analyze 打意向分 → 高意向产 draft message + message_queue 待审posts_30d / last_pub 可喂视频复扫优先级(勤更新的号优先复扫拿新评论)SCRAPE_RECENT_COMMENT_HOURS,5/31 已从 24h 调到 168h/7d)。新入库号的老视频评论可能在闸门外,别因为「DB 里评论少」就判死——这正是踩坑 ③,要用本地 f2 实拉量交叉验证。首抓窗口是否从 7d 再放宽到 30d 在评估中(见号源打分页)。以 6/05 第二批为例(一轮干净跑 = 从搜索到 22 个号入库),各阶段的用时和花费:
| 阶段 | 这次的量 | 用时 | 花费 |
|---|---|---|---|
| 0 搜索候选 | 5 关键词 → 304 作者 | ~2-3 分钟 | 免费(本机浏览器滚动 + 监听接口) |
| 1 f2 富化 | 98 个号,~600 次 f2 调用(拉视频列表 + 转赞评) | ~13 分钟 | 免费(本机直连抖音,不走付费 API) |
| 2 实拉验证 | 拉评论(免费)+ 意向打分(付费) | ~5-8 分钟 | 仅打分走 deepseek-v4-flash,几分钱/批 |
| 3 入库 + 自动排检查 | 22 个号写库 + 自动建 T+7 提醒 | ~10 秒 | 免费 |
| 合计 | 22 个金矿号入库 | ~20-25 分钟 | ≈ 几分钱(只有阶段 2 打分) |
fetch_user_posts 的浏览器回退不能并发(并发必崩 + 限流,见 §UPDATE 第 1 条)。想更快只能减少候选数(先按名字脉预筛),不能靠并发提速——这是这套方法的硬约束。6/05 就是吃了「图快开并发」的亏,反而把端点干限流、多花了冷却等待时间。注:以上是「干净跑」的理论用时。6/05 当天因调试并发限流多耗了额外时间,那是操作失误不是方法成本——按串行老老实实跑就是上表的数。
① 每天产出有上下限,且会衰减——「产出」= 当天入库的活跃金矿号数。三批实测:
| 批次 | 关键词脉 | 入库金矿号 |
|---|---|---|
| 5/30 | 装修案例等 | 16 |
| 6/5 | 装修日记 / 全屋定制 / 懒人装修 / 晒新家 / 小户型改造 | 22 |
| 6/6 | 新房装修 / 毛坯改造 / 二手房翻新 / 出租屋改造 / 婚房装修 | 9 |
| 大致区间 | 由什么决定 | |
|---|---|---|
| 上限 | ≈ 20–40/天 | 关键词新鲜覆盖(每词捞~60-70 作者)× ~8% 通过率(avgC≥150活跃)× 串行富化的时间预算(conc=1,一轮能富化~100-150 候选) |
| 下限 | ≈ 0–5/天 | 已入库池子越大、去重掉的越多;同一批关键词越挖越枯竭(蝉妈妈 5/28 关键词矩阵枯竭同款规律);该垂类活跃创作者总量有限 |
② 关键词怎么选:目前按经验挑——锚定「个人装修日记 / 晒家」这条出过金矿(一只芋圆仔)的脉,选装修相邻、能勾出个人晒家评论的词,每天换新角度避免去重。诚实说:还没有系统化选词机制,是已知缺口(更严谨该配抖音指数验词热度)。
③ 去重:每次打分时实时拉全量号源库的 sec_uid + 名称比对,命中的标记 dup、不入库。6/6 实测 344 作者 → 331 新 / 13 已在库。sec_uid 去重很硬,入库的号不会重复;历史捞过但没入库的号可能被再捞一次,但不入库、无害。
⑤ 入库的号有「类型」和「来源」标签(号源页可见):
| 字段 | 怎么来的 | 取值 |
|---|---|---|
| 类型 | 入库时按号名特征词自动归类(有据可查,名字无明显特征就留空不瞎猜,等抓到内容再分) | 业主日记(个人晒自己装修)/ 本地号 / 知识号 / 工厂号 / 设计号 / 品牌号 / 全屋定制 |
| 来源 | 标明这号是哪个渠道找来的 | 抖音搜索·本地f2(本套方法)· 蝉妈妈(历史第三方平台)· 手动 |
注:早期入库脚本曾把所有号硬标「全屋定制」(一刀切、不准),已修正为按名字分类并回填历史批次。例:6/6 入库 9 个 = 3 业主日记(入住毛坯房/小于的家…)+ 6 本地号(城市+旧房改造服务号)。