案例复盘

把「不可自动化」的内容平台
做成自动化:一次 13 信源实战复盘

公众号没有开放标题接口、视频号没有发布 API、12 个抓取通道实测失效——这条路上的负结论,比正结论更值钱。

浩瀚数据晟财 · 交付团队 发布于 2026-10-04 更新于 2026-10-08 阅读约 11 分钟

需求长什么样:每天 6 条内容的全自动产线

需求本身并不复杂:运营三个内容账号(AI 科技、足球、茶文化),每个账号每天更新 2 条短视频,从选题到发布全自动。听上去像是一个脚本能解决的事——真正做起来,我们花了相当长的时间在摸通道上,而不是写代码上。

原因是这类需求和常规的数据采集有本质区别。常规采集面向的是「有 API 的系统」,而内容平台的现实是:

  • 公众号没有开放「获取某账号最新文章」的接口,外部也没有稳定同步源;
  • 视频号没有官方发布 API,后台只能人工操作;
  • 大量垂类资讯站是 SPA(前端渲染),直接抓 HTML 拿不到列表。

所以第一步不是设计架构,而是把「哪些路走得通、哪些路走不通」一次性问清楚。这一步的产出直接决定后面所有工作的形态。

第一步不是写代码,是摸通道路

我们按「有鲜度、免登录、可自动化」三条标准,把 13 个点名信源逐个实测,形成一张通道能力矩阵。结论差异极大:

通道类型典型信源实测结果
官方 RSS科技类垂直媒体可用,10 条/次,最新可到当天上午
联邦社区镜像 RSS部分 AI 媒体可用,20 条/次,鲜度同样到当天
第三方 RSS 服务老牌科技媒体可达但滞后约 4 天,且目标号收录不全
列表页直抓体育资讯站2590 条/次带日期、含当日,效果最好
官方 App 接口体育资讯 App可用,22 条实时资讯流
客户端无障碍通道9 个只在微信生态发布的号自建方案打通,见第 4 节
一个反直觉的发现:做得越「像给人看的页面」,反而越好抓。老牌资讯站的列表页结构二十年不变,一次抓 2590 条;而那些做了现代化前端的站点,反而因为前端渲染把数据藏进了接口里。

另一个重要判断是覆盖率可以互相补位。某个信源本身没有可用通道,但它的内容会被另一个平台的当日同步覆盖到——实测中,一个纸媒专栏的全部稿件都在某资讯站当日同步,等于用镜像平台绕过了这个缺口。先做矩阵、再找补位,比逐个硬啃效率高得多。

12 条实测证伪的路线(负结论清单)

下面这份清单,是我们认为这个项目里最值钱的产出。每一条都花了真实时间去验证,每一条都写明了「为什么不行」——它的价值在于,下一个做同类需求的人不用再走一遍。

路线结论
搜索引擎的微信文章检索全文相关度搜索混入大量别家转述,严格账号过滤后召回归零
搜索引擎的公众号搜索返回空骨架页,功能已被平台限制
阅读类 App 的「搜一搜」只返回图书数据,无任何公众号内容,扫码路线证伪
资讯聚合站官网直抓多个目标站为 SPA,渲染后仍取不到列表
某研究院官网503 长期不可用
某媒体开放 API恒定「系统繁忙」错误码,带 Referer / Origin 亦同
某新闻客户端作者订阅接口三个候选接口全部 404
搜索引警资讯检索首次可用,随即触发反爬返回验证页,不适合自动化
某 RSS 聚合服务429 限流
社交平台搜索接口需登录,返回 432 或空结果
某财经媒体 RSS无 RSS 源,路径返回 SPA 页
第三方 RSS 公开服务可达但目标号收录不全,且已停更

这份清单带来的最大认知变化是:「抓不到」往往是平台事实,不是技术问题。公众号内容不对外开放索引,属于平台层面的策略,不是写更聪明的爬虫能解决的。承认边界之后,我们才转向了第 4 节的方案。

微信 PC 通道:从「不可读」到全自动

剩下 9 个号只在微信生态内发布,外部无稳定同步源,唯一可行的入口就是本机的微信 PC 客户端。这条路一开始被判为「不可行」,最后却成了整套方案里技术含量最高的一环。

关键发现:主窗口不可读,但内嵌浏览器可读

微信 PC 客户端的主窗口是自绘界面,标准无障碍接口只能读到 17 个节点(基本都是标题栏按钮),无法程序化导航。但我们发现:公众号主页与文章窗口使用的是内嵌浏览器内核,其无障碍树完整可读——能读到公众号名、简介、每篇文章的标题/日期/阅读点赞,以及正文全文。

踩过的坑:内嵌浏览器的无障碍树是异步补全的。首次探测只有骨架(69 个节点),反复读才会增长到 300+ 节点。我们早期一次「主界面不可读」的结论,其实只是探测时把节点数上限设得太小导致的——探测时务必给足节点数与深度。

实现原则:只读 + 默认动作,零注入

整条链路只使用操作系统标准的无障碍接口,不注入进程、不 hook、不修改客户端文件。每个环节的手段和实测结果:

环节手段结果
读文章列表遍历文档子树取文本节点19 篇,含日期分组与阅读数
打开文章标题容器的默认动作页面切到文章
读正文文章页文本节点全量拼接292 / 234 段,含作者、时间、全文
取公网链接文档节点的值属性可直接打开的永久链接
返回列表文章页的账号名片链接回到公众号主页

这个方案的关键优势是全程不抢前台、不移动鼠标、不注入进程、不改客户端文件,客户端窗口可以在后台运行——这正是它能无人值守的原因。

几条容易踩空的实现细节

  • DPI 感知必须显式声明:开发机缩放 150%,不声明时窗口坐标返回逻辑值,与无障碍接口的物理坐标差 1.5 倍,会导致点击与命中判断全部错位;
  • 部分输入必须用真实按键:程序化写入搜索框「能写入也能回读」,但应用层不认(回车无效、界面仍为空),必须走物理按键;
  • 搜索结果卡片只有真实鼠标单击有效:程序化触发方式实测三种全部无效;
  • 「文章」与「贴图」标签页要兜底:部分账号内嵌页面会停在贴图标签,导致列表读不到图文,需要识别页面类型并切标签(多种方式依次尝试,点不动就静默放弃)。

图文帖与贴图帖的门禁

公众号主页同时存在纯图片帖与图文文章,而只读列表里图片完全不可见,两者在列表层没有差异。我们找到的判定依据是:规范图文帖的正文头部一定有「元信息头」(标题之后依次是原创标记、账号名、发布时间、地区、阅读人数),贴图帖没有。实测命中稳定。命中失败的条目单独归档并带原因标记,便于人工复核,不污染正式结果。

另一个类似的边界处理:「今日无图文」不等于失败。有些账号主页全是赛事海报,有些账号今日确实没更新。如果把这些都当失败,流水线会频繁误报。现在汇总时分三档输出——成功 / 今日无图文 / 失败,退出码只看真失败。

发布层:没有 API 的平台怎么自动发布

采集解决的是「输入」,发布解决的是「输出」。视频号没有官方发布接口,只能走浏览器自动化操作创作者后台。这条路上我们沉淀了十几条必须遵守的规则,挑几条最有代表性的:

  • 关键按钮必须用真实鼠标事件:框架的事件处理不认程序化派发的事件,必须走底层输入协议模拟真实按下与释放;
  • 发布器页面绝不能刷新:刷新后内嵌页面会挂死白屏,只能从列表页重新进入;
  • 文件上传要用「主文档桥接」:跨进程连接方式下,内嵌页面的文件选择调用全部失效,需要在主文档构造输入框、拦截选择事件、用数据传输对象把文件转交给内嵌页面;
  • 内嵌页面只有主执行环境可读:隔离环境读不到内嵌文档,表单操作统一走主环境;
  • 描述框是富文本而非文本域:赋值要用内容 + 事件触发,才能被框架正确接收;
  • 内嵌页面地址会变:上传后地址会切走,定位一律用名称属性,不要按地址匹配。

这些规则单看都很琐碎,但每一条都是实测踩出来的——违反任何一条都会导致静默失败(不报错、但事情没做成),这是自动化项目最耗时间的部分。

内容质量的三道门禁

通道打通只解决了「能采到、能发出」,内容质量还需要门禁来兜。我们设了三道:

门禁要解决的问题做法
无源幻觉同一条新闻有多个来源,短讯无正文,模型只能靠标题编稿,一旦发布即为编造事实有正文的条目排序优先;提示词硬性要求同事件选正文最全的;选中项仍无正文则自动改选替补;正文低于阈值直接不生成
同事件判定同一事件的中文标题改写后共享连续字极少,启发式方法不可靠放弃字面相似度(实测正负样本相似度完全重合),改由模型输出事件标签来判定——确定性、可解释、无调参
提示词长度候选池涨到 200+ 篇时目录过长,模型输出被截断导致 JSON 解析失败设长度闸门,超限时逐级瘦身(先丢摘要、再截断),并限制上榜条数
一个值得记住的教训:我们曾在「同事件判定」上试图用字面相似度做嫁接,投入大量调参后彻底证伪——正样本(同一事件)与负样本(不同事件)的相似度完全重合,换实体词交集后正样本反而掉到 0。结论是:语义判断是模型的活,不该用启发式硬凑。

这套方法能复用到哪些场景

这套做法的内核不是「视频号自动化」,而是一套面对封闭平台时的通用打法:

  • 先摸通道、后写代码:把可用通道与已证伪路线都固化成矩阵文档,避免团队重复试错;
  • 把负结论当资产沉淀:失败路线的价值不低于成功路线,尤其是在平台策略会变的环境里;
  • 优先走系统标准接口:能用无障碍接口就不注入进程,能用只读就不改文件——稳定性和合规性都更好;
  • 给异步的东西留足余量:无障碍树异步补全、页面异步加载,探测时给足节点数与等待时间;
  • 边界情况要分档而非二分:「无内容」和「失败」必须区分,否则流水线会被误报淹没。

可迁移的场景包括:竞品内容监控、行业情报订阅、多平台内容分发、企业内部系统的批量操作(很多老系统同样没有 API)、以及任何「人在界面上点,但量太大」的重复性工作。

本文要点

  • 内容自动化的瓶颈在摸通道,不在写代码——先出通道能力矩阵再动手
  • 13 个信源实测:RSS / 列表页直抓 / App 接口 / 客户端无障碍通道,覆盖可互补位
  • 12 条证伪路线清单是核心资产:抓不到往往是平台事实,不是技术问题
  • 微信 PC 通道关键:主窗口自绘不可读,但内嵌浏览器无障碍树完整可读;只读 + 默认动作,零注入
  • 关闭式平台发布走浏览器自动化,十几条铁律每一条违反都会静默失败
  • 质量门禁三件套:无源幻觉检测、同事件语义判定、提示词长度闸门

常见问题

自动化采集公众号内容,合规上要注意什么?

三点原则:一是只做只读操作,不修改、不注入被操作程序;二是只采集公开发布的内容,不触碰私密数据;三是优先使用平台提供的公开通道(RSS、开放接口),在没有公开通道时才考虑客户端侧方案,并且采集结果仅用于内部选题参考与二次创作,不直接搬运发布。涉及具体业务时建议先做合规评估。

为什么不用更成熟的爬虫框架,而要做客户端自动化?

因为目标内容根本不在公网上。那 9 个账号只在微信生态内发布,外部没有同步源,任何基于公网的爬虫方案都抓不到——这不是框架强不强的问题,是数据不在那里。判断一条路要不要走,先看目标数据是否在可达位置,再决定用什么工具。

平台改了界面,自动化是不是就失效了?

会有影响,但可控。我们做了三层防护:一是优先依赖语义属性(无障碍名称、结构层级)而不是像素坐标,界面视觉调整通常不影响;二是识别失败时静默降级而不是抛错中断,并把异常条目归档待人工复核;三是把每次踩坑写进规则清单,下次同类问题能快速定位。实测中界面小改动基本不用改代码。

这套能力能用来做什么,不适合做什么?

适合:批量采集与监控、多平台内容分发、老系统的批量操作、重复性人工流程的替代。不适合:需要主观判断的创意工作、涉及账号安全的操作、以及目标平台明确禁止且无合规路径的场景。我们的原则是自动化替代「机械重复」,不替代「判断与决策」。

宋运奎 — 浩瀚数据晟财创始人
宋运奎
浩瀚数据晟财 · 创始人 / CEO
原小米之家数据负责人国际数据和人工智能管理协会中国分会理事中国电子信息行业联合会数据治理专委会委员工信人才大模型应用创新与数据要素高级人才

原小米新零售小米之家数据负责人,主导搭建业内领先的智能数据体系;曾任金山软件核心数据产品负责人,主导研发业内最早的移动端数据产品 KBOSS 平台。专注 AI 场景化应用与企业数据资产化运营,本文由其主笔并负责内容审核。

RELATED · 相关阅读

继续往下看

你们有哪些「量大但只能人工点」的流程?

我们可以先做一次通道可行性摸底:把可用通道与已证伪路线一次摸清,再决定哪些值得自动化——摸底阶段的负结论同样是交付物。

预约通道摸底 看开放能力