做内容的人大概都有这个循环:刷到好笔记 → 点收藏 → 堆到两千多条 → 真要写选题时翻不到 → 重新刷一遍。
我换了个思路:不要让内容停在平台里,把它搬到一个能被筛选、排序、检索的地方。
于是我写了一个 Chrome 插件。
技术上有三个取舍
一、用 API 拦截,不解析 DOM
小红书的页面结构改得很频繁,今天能抓到标题,下个月可能就换类名。
所以我没有爬 DOM,而是在浏览器层面拦截接口返回的 JSON。
- 好处:页面改版不影响数据、字段比页面上多、速度更快
- 坏处:依赖接口,接口一变要跟着改
实现方式是用 chrome.debugger 或注入脚本 hook XMLHttpRequest / fetch,把响应体截下来,按 schema 提取字段。
二、用 Side Panel,不用弹窗
Chrome 的 Side Panel 能常驻,不遮挡主页面。你一边刷一边点按钮,体验是连贯的。
弹窗每次要重开,很烦。
三、存飞书多维表格,不存本地
飞书多维表格的 API 稳定、有字段类型(单选/多选/数字/日期/附件),适合当数据库用。
手机上也能看,躺床上也能翻选题。免费版够用。
数据结构设计
每条记录有这些字段:标题、来源平台、正文、图片、点赞、收藏、评论、状态、优先级。
关键在两个枚举字段:
- 来源平台(单选):小红书、网页、YouTube
- 状态(单选):待选题、已选题、已完成
有了字段才谈得上工作流。收藏夹和选题库的区别就在这里。
踩过的坑
- 飞书多维表格的字段名和选项文字必须逐字一致,差一个字就写不进去。我第一次配就是因为「来源平台」少了「网页」这个选项,报错信息很模糊,排查了半小时。
- 正文是懒加载的。小红书的正文要滚动才渲染,收藏前先滚一下,不然抓到的是空的。
- 批量收录故意做得慢。要限速,避免触发风控。想一次收录几百条不建议。
chrome://这类页面浏览器禁止注入脚本,普通插件抓不了。
开源
代码 MIT 协议开源:github.com/pengqianche…
仓库里有完整安装步骤、字段规格说明,以及一份可以直接发给 AI 的建表提示词。
完整使用教程与踩坑记录:www.mxiu.cc/
作者:前程序章(钱程)