头条号自动盯盘

把你想盯的几个头条号挂上定时任务,新文章每天自动进本地看板
v1.0 · Python + Playwright · Win/Mac/Linux
开源仓库 · MIT

一句话介绍

这是个本地跑的脚本:你告诉它你想监控哪几个头条号,它每天 9:00 和 14:00 自动帮你查一次这些号有没有发新文章,新文章落地到一个本地网页看板(双击 dashboard.html 就能看)。

本地运行,不写后台进程、不加开机自启、不上传你的数据到任何地方,删 掉文件夹就等于卸载干净

核心通用安装话术:直接复制发给 WorkBuddy

下面这段是设计好让 WorkBuddy(或其他 AI agent)看完就开干的,复制、粘贴、发送即可。 中括号 <...> 是占位符,agent 会自己替换或问你。

我发你一个开源脚本,叫「头条号新文章监控」。 它做一件事:你告诉我我要监控哪几个头条号,它就每天 9:00 和 14:00 自动帮我查一次这些号有没有发新文章,新文章落地到一个本地网页看板(双击 dashboard.html 就能看)。本地运行,不写后台进程、不加开机自启、不上传我的数据到任何地方,删文件夹就卸载干净。 代码地址是:https://cnb.cool/goodie-studio/toutiao-monitor (如果 clone 太慢可以下源码 zip;或者已经下载到本地,直接告诉我本地路径也行。 注意别放"下载"文件夹,会被清理工具清掉。) 请帮我全程装好,按顺序做,每一步都给我反馈结果: ⚠️ 装之前请先和我确认一件事:我要监控哪几个号 + 每个号对应的 token。 两种获取方式任选其一(推荐第一种): A) 我直接告诉你几个号名(比如"某某财经"、"AI观察员"),你用 Playwright 打开这些号的主页(https://www.toutiao.com/c/user/token/<TOKEN>/),从 URL 里提取 token 写到 accounts.json B) 我发几个该号的文章链接给你,你从文章反查作者主页再取 token 拿到 token 后,一次性写进 accounts.json(一行一个号,name 和 token 必填,enabled 默认 true)。 接下来按这个顺序做: 1. 把代码下载到本地(如果还没下就 clone) 2. Windows 跑 init.bat,macOS/Linux 跑 bash init.sh(它会建 venv、装依赖、下载 Chromium) 3. 确认 accounts.json 已经按上面填好 4. 跑 .venv\Scripts\python.exe toutiao_monitor.py --init(这是建基线,不会报警) 5. 跑 .venv\Scripts\python.exe toutiao_monitor.py(应该报"本次检查无新文章"或正常报新文章) 6. Windows 跑 install_cron.bat,macOS/Linux 跑 bash install_cron.sh(注册每天 9:00 和 14:00 的定时任务) 请逐条回答我: - 脚本最终装在哪个路径? - accounts.json 里现在监控哪几个号?(贴一下内容) - 第一次正常模式跑下来报了什么? - 定时任务建好没有(任务名 / 时间 / 频率)? - 双击 dashboard.html 能不能看到内容(几个号、多少条)? 另外请确认: - 我的电脑有没有被加任何开机自启或系统启动项?(不应该有) - 没有上传任何我的数据到外部服务器吧?(不应该) - 如果任何一步失败、报错、或者你判断有风险,先停下来跟我说,不要硬上。 最后一步:装完跑顺之后,回个整体总结给我(用了多久、有没有踩坑、有没有超出上面的"确认"清单)。我靠你这个总结判断要不要继续推。

💡 为什么这段话能直接发头条和公众号?它同时对人可读(就算你不懂 agent, 一步步跟着也能装)和对 agent 可解析(编号步骤 + 验收问题 + 安全回退)。 auto-checkin 用同样的写法在 goodie.bbroot.com 上验证过。

装好之后长什么样

每次定时任务跑完都会生成(或刷新)dashboard.html,双击就在浏览器里打开, 不需要起服务器。每张卡片对应一个头条号,标题/摘要/时间/原文链接齐全;红色 NEW 是你上次打开之后新冒出来的,橙色「今日」是当天发的。

dashboard.html 实际截图
实际截图:4 个账号 / 48 篇 / 12 篇新增

几个常见问题

Q:为什么必须装个 Chromium?
头条有 a_bogus 签名反爬,自己模拟请求拿不到数据。但页面自己发出的 API 带的是 合法签名,脚本用 Playwright 打开主页、捕获那个 API、再用同一上下文重新请求一次—— 全程不需要登录。Playwright 自带 Chromium 是这个机制的基础。

Q:浏览器窗口会弹出来吗?
不会。窗口位置挪到屏幕坐标 -24000,-24000,你完全看不到。但它跑的是真实 浏览器进程,因为头条会识别纯 headless 模式并拒绝响应。

Q:会把我头条账号搞出问题吗?
不会,脚本根本不登录你的账号。它做的事情就是"用浏览器打开一个公开主页",跟你自己 在浏览器打开没区别。token 是公开 URL 里的字符,不是密钥,失效了就失效, 重新拉一次就行。

Q:token 失效了怎么办?
脚本内置主页归属校验:token 失效时头条会把页面重定向到首页, 抓到的全是首页推荐内容(金砖、国际新闻之类)。脚本会检测到这一点并跳过那个号, 不会误报。要恢复这个号,从手机 App 重新分享一次主页链接,重新提取 token 写到 accounts.json 即可。

Q:能监控多少个号?
建议 5–10 个。再多有两个风险:① 脚本运行时间线性增长(每号约 12 秒); ② 头条对 "短时间内频繁抓多个号"有隐藏风控,50 个以上就是风险区。

Q:我想推到企业微信,能加吗?
可以。建一个只有你自己的企业微信群 → 群机器人 → 复制 Webhook URL,配置到环境变量 WECOM_WEBHOOK,以后有新文章自动推到微信。详细步骤见 README。

三种用法的快速指南

A. 装在自己机器上(推荐)

上面那段「通用安装话术」直接发给 WorkBuddy,让它帮你装到底。 大约 5 分钟装好,30 秒验证,全过程不用你碰代码。

B. 让别人也装一份

直接把这页的链接发给他/她,那段「通用安装话术」也能直接转。 但请注意:每个人监控的号都不一样,所以别人还要把「通用安装话术」里的 仓库地址和所有 <...> 占位符换成自己的——这些占位符 agent 都会自己 问你,你只要回答即可。 通用话术的好处是:它已经预留好"询问账号清单"这一步,读者顺着读下来就懂。

C. 自己也装但换了号

删掉 data/reports/logs/dashboard.html 这几个目录,修改 accounts.json 填新的号, 跑一次 --init 重建基线即可。代码和依赖都不用动

这个工具的几个有意识的设计取舍

几句实话

任何自动化工具都存在理论上的合规风险—— 头条的用户协议没有明确说能不能这么抓公开主页,但也没说不能。 我自己用了几个月,没遇到任何问题,账号正常。 工具不登录你的头条账号,调用的是公开接口,风险极低,但不是 0。

它不是官方工具,是我日常用的东西整理出来的。接口哪天变了 它可能就失灵——但一般只会影响一两个号,不会整个挂掉,因为脚本已经内置了 "失败自动跳过"。

如果你不想用脚本了:

版本:v1.0 · 2026-09-13
作者:自用工具发布于 goodie.bbroot.com已上线, 含完整 9 章说明 + 风险披露)
协议:MIT
项目地址https://cnb.cool/goodie-studio/toutiao-monitor(CNB · MIT · 与本工具同源)