信息收集这件事最反直觉的一点是:真正拖慢你的从来不是“找不到”,而是“找过、存了、再也没打开”。我做过一次不太好看的统计——自己收藏夹里躺着的公众号文章,三个月内被二次打开的比例不到百分之五。也就是说,我花了大量时间做公众号文章采集,产出物的实际利用率接近于零。问题不在手速,也不在工具不够多,而在整条链路从入口到检索都是断的:入口靠随手点收藏,中间没有清洗,末尾没有归档规则,最后自然就变成一堆打不开的黑洞。这篇就把我这两年反复折腾出来的公众号文章采集策略和工具选型讲清楚,包括哪些环节值得自动化、哪些必须手动、哪些红线碰不得。适合经常需要跟踪垂直领域动态的内容从业者、做行业研究的朋友,以及想把碎片阅读沉淀成个人知识库的普通读者——哪怕你只会最基本的复制粘贴,后面的流程也能照搬。
1. 收藏夹为什么越攒越废:先定位真正的瓶颈
很多人一上来就问“用什么工具采集”,这是把顺序搞反了。工具解决的是搬运速度,而信息收集的失败几乎都发生在搬运前后。我见过太多人把采集效率等同于抓取速度,结果搭了一套看着很唬人的流水线,跑了一个月就停了,因为产出的东西自己都不想看第二眼。先把瓶颈找出来,再谈工具,能省掉一大半返工。
1.1 三个断点:入口断、加工断、检索断
我把整条链路拆成三段,每一段都有典型的断裂方式。
入口断是指收藏动作和阅读场景绑死在一起。你在通勤路上刷到一篇还不错的文章,点个收藏,然后就没了。这个动作太轻,几乎不产生任何上下文——你当时为什么觉得它有用、它属于哪个正在推进的选题,这些信息全丢了。等一周后再看,只剩下一个标题,判断成本比重新搜索还高。
加工断是指原文原封不动地进了库。公众号文章自带大量噪声:开头的引导关注、中间插入的推广段落、结尾的二维码、一堆“点击上方蓝字”的排版元素。这些东西在原文里不影响阅读,但进了你的本地库就是纯污染,检索时会把无关内容顶上来,做全文搜索时更是灾难。
检索断是最致命的。命名混乱、目录随意、没有标签,等于把一堆文件从平台搬到了硬盘,可发现性一点没提升。我早期的库就是这样,文件名全是“未命名文档”加一串数字,找东西只能靠翻目录,翻两次就放弃了。
判断自己的瓶颈在哪,有个很简单的测试:随便想一个三个月前存过的主题,掐表看多久能找到。超过两分钟,就是检索断;找到了但打开发现是半截内容,是加工断;压根想不起来自己存过,是入口断。
1.2 采集之前先定留存标准:三问过滤法
效率的另一半来自“不采”。采集成本不只是抓取那几秒钟,还包括后续的清洗、归档、维护和检索干扰。我的做法是设三道问题,任何一篇文章进库前都要过:
- 三个月后我还会需要它吗?纯时效性的快讯、活动通知、政策转发,一律不进库,需要时再搜。
- 它提供的是信息还是观点?信息类(数据、方法、案例细节)值得存;纯观点类如果和我正在做的事无关,读完就走。
- 我能用一句话说清它解决什么问题吗?说不清就别存。这句话后面直接变成你的摘要字段,省掉二次加工。
这三问听起来啰嗦,实际用起来每篇不到十秒。我自己的通过率大概在三成左右,剩下七成当场消化掉。留存量的下降没有降低我的信息覆盖,反而让库里的东西变得“每一条都值得再看一遍”。
1.3 效率该怎么度量:从“存了多少”换成“用了几次”
这一点值得单独说,因为它决定了你会不会走偏。如果你的 KPI 是“本月采集了多少篇”,那你必然会倾向于无脑全收,然后为了消化这些存量去做更多自动化,最后陷入自我感动的循环。我把度量换成了两个更硬的指标:月度被引用次数(这个月写东西或做决策时,实际从库里调出了多少条)和单条检索耗时(从想到某个主题到打开对应文件的时间)。前者衡量价值,后者衡量结构。这两个数字上去了,采集量少一半都是赚的。
2. 采集链路的四层骨架:入口、清洗、归档、检索
把链路拆成四层之后,每一层该干什么就清楚了,也才知道哪些环节能用工具、哪些必须自己动手。这套骨架我在不同规模的场景里都用过,从一周十几篇到一天几十篇,只是每层的工具换了,结构没变。
2.1 入口层:主动订阅、定向检索与被动投喂的分工
入口层要解决的是“哪些内容有资格进入视野”。我的做法是把信息源分成三类,配不同的处理方式。
主动订阅是主干。固定关注的一批账号,按主题归类,每天固定时段集中扫一遍。这一类占比最高,也最值得投入时间做结构化——因为源稳定,可以做增量采集,新发一篇收一篇,不用重复判断。
定向检索是补充。针对具体选题去搜索,这类内容天然带上下文(你知道自己为什么找它),采集时顺手把关键词记进标签就行,不需要额外判断。
被动投喂要严格控制。算法推荐和群聊转发的内容,质量方差极大,我的处理原则是只读不存,除非当场就能说清用途。这一类的采集冲动最强,也最该被压制。
三类源的比例我大致控制在 6:3:1。被动投喂占比一旦超过两成,你的库就会开始跑偏,因为推荐逻辑优化的是停留时长,不是你的研究价值。
2.2 清洗层:正文抽取要保留什么、丢掉什么
清洗的目标不是“提取纯文本”,而是“提取一份脱离原页面仍然可读的文档”。这两者差别很大。我之前踩过一个坑:为了追求干净,把图片全删了,结果半年后回看一篇讲排版对比的文章,正文全是“如下图所示”,完全没法用。
我现在保留的字段比较固定,可以当模板用:
| 保留 | 丢弃 | 理由 |
|---|---|---|
| 正文段落、小标题层级 | 引导关注、扫码区、往期推荐 | 纯噪声,检索时干扰排序 |
| 图片(含图注) | 装饰性分割线、表情包 | 图注常含关键信息,装饰图占空间 |
| 原文链接、作者、发布时间 | 阅读量、点赞等互动数据 | 元信息用于溯源,互动数据无长期价值 |
| 代码块、表格 | 广告插槽内容 | 结构性内容必须原样保留 |
清洗这一层最容易做过头。判断标准很简单:把清洗后的文档单独发给一个没看过原文的人,他能不能读懂。读不懂就是删多了。
2.3 归档层:命名规则与目录结构必须先定死
归档规则要在采集之前定,不能边收边改。我见过太多人前一百篇随便放,第一百零一篇开始想整理,然后永远在整理前一百篇。规则不需要多精巧,但必须机械可执行。
我的目录结构是这样的,四级封顶:
knowledge/ 00-inbox/ 刚落库、还没归类的 10-topics/ 按主题分的一级目录 20-projects/ 跟具体项目绑定的 90-archive/ 过期但保留的 _assets/ 图片、附件统一放这里 _templates/ 模板文件文件名用固定格式:YYYYMMDD-来源简称-标题关键词.md。日期放最前面,因为文件管理器默认按名称排序,这样天然就是时间线。标题关键词控制在十五字以内,太长了在列表里会被截断。
00-inbox这个目录是关键。它让“采下来”和“归好类”变成两个动作,前者可以批量做,后者可以攒到周末一次性做。中间态的存在大幅降低了心理阻力,不然每采一篇都要停下来想放哪,很快就不想采了。
2.4 检索层:让三个月后的自己十秒内找到
检索能不能成,取决于你有没有在采集时埋下足够的“钩子”。钩子有三类:原文标题(你会记得大致说了什么)、你自己的摘要(你会记得为什么存它)、标签(你会记得它属于哪个主题)。这三样缺一样,检索成功率就掉一大截。
全文检索是兜底手段,不要把它当主力。原因很实际:公众号文章里高频出现的词往往是“我们”“这个”“其实”,全文搜索的召回率高但精确率低。真正高效的是先按标签收窄范围,再按标题扫一遍,最后才用全文搜索定位具体段落。这个顺序用熟了,找东西基本在十秒内。
3. 工具怎么选:按环节分工,别指望一个软件全包
工具选型这块最容易走弯路,因为大部分人是在找“一个能解决所有问题的软件”。这个软件不存在,而且越是宣称全能的产品,在单个环节上往往越平庸。正确的思路是按环节分工,每个环节选一个够用的,然后靠文件格式把它们串起来——这也是我坚持用纯文本 Markdown 作为中间格式的核心原因,任何工具都能读写,不会被某一款软件锁死。
3.1 采集端、加工端、存储端的三分法
采集端负责把内容从浏览场景里拿出来。常见的选择有三类:浏览器剪藏扩展(选中区域或整页保存)、阅读器的收藏与导出功能、以及自己写的脚本(针对结构稳定的源)。这三者的适用场景完全不同——剪藏适合单篇精读后保存,阅读器适合批量订阅,脚本适合源稳定且量大的情况。别混用,混用会导致同一批内容出现三种不同的文件结构。
加工端负责清洗和格式化。轻量做法是在编辑器里手动删几段,重量做法是写正则或解析规则做自动抽取。我的经验是:日采集量在十篇以内,手动比自动化快,因为写规则和调试规则的时间足够你手动处理几百篇;超过三十篇,自动化的边际收益才明显。
存储端负责长期可检索。核心要求只有两个:文件是纯文本,以及支持全文检索。剩下的都是加分项。我用的是本地 Markdown 文件加一个支持全文索引的编辑器,好处是数据完全在自己手里,换工具只需要重新指向目录,不存在迁移成本。
3.2 不同规模下的工具组合对照
下面这张表是我实际用过的几种组合,按日采集量分档,可以直接对号入座:
| 日采集量 | 采集端 | 加工端 | 存储端 | 主要瓶颈 |
|---|---|---|---|---|
| 5 篇以内 | 浏览器剪藏扩展 | 纯手动删改 | 本地文件夹 + 任意编辑器 | 几乎没有,别过度设计 |
| 5 到 20 篇 | 剪藏 + 阅读器订阅 | 半自动:模板 + 手动清广告段 | 本地 Markdown + 全文检索 | 归档拖延,inbox 会堆积 |
| 20 到 50 篇 | 脚本批处理 + 剪藏兜底 | 规则抽取 + 抽样人工校验 | 带标签系统的笔记库 | 抽取失败率上升,需要监控 |
| 50 篇以上 | 全脚本 + 队列 | 规则 + 失败重试 | 数据库或带索引的文档系统 | 维护成本超过收益,慎入 |
第三档往上,真正的成本转移到了维护上。我现在稳定在第二档到第三档之间,日均二十篇上下,脚本处理订阅源,剪藏兜底零散内容,周末统一归档。这个配置下每周花在维护上的时间大概一小时,是可以接受的。
3.3 全自动方案为什么经常烂尾
我搭过两版全自动流水线,都烂尾了,原因值得说说。
第一版死于抽取规则漂移。源页面的结构会变,可能是改版,也可能是某篇文章用了特殊排版,规则一失效就静默产出空文档。最坑的是它不报错,你以为收了一百篇,实际八十篇是空的,等发现时已经过去三周。后来我加了字数阈值校验(正文少于三百字标记为可疑),才把这个问题摁住。
第二版死于无人验收。全自动意味着你不再逐篇看,但采集的价值恰恰建立在“你读过并且判断过”之上。收到的内容如果没人看,那和一个更大的收藏夹没有任何区别。所以我现在的做法是:自动采集只负责把内容放进00-inbox,归档必须人工过一遍,每篇至少扫一眼摘要。这个人工环节看着低效,实际是整个系统能持续运转的关键。
一个判断标准:如果你的自动化方案里没有任何人工校验点,那它迟早会在某天给你一堆无法追溯的垃圾,而且你不会及时发现。
4. 合规边界:哪些能动、哪些别碰
这块必须单独拎出来讲,因为它决定了你的采集体系能不能长期存在。技术上的“能不能”和规则上的“该不该”是两回事,后者优先级更高。我见过不少人在采集环节翻车,不是因为技术不行,是因为一开始就没把边界想清楚。
4.1 公开可访问与授权范围的判断
基本原则很朴素:只处理你自己有权阅读的内容,并且只在个人范围内使用。具体展开几条我自己的执行标准。
正常的订阅阅读、在阅读界面里保存到本地做笔记,这属于个人使用的合理范畴。而涉及登录态模拟、绕过访问限制、批量抓取需要授权才能看的内容,这些一律不碰——不只是风险问题,这类做法本身也不可持续,源站一调整就全废。
另一个容易被忽略的点是采集范围的最小化。我只需要正文和必要的元信息,就绝不把整页 HTML 连同脚本一起存下来。一方面是减少噪声,另一方面也是减少不必要的附带数据。这个习惯养成之后,你的库会干净很多,出问题的概率也低。
4.2 版权与二次使用的红线
采集到本地做个人学习、研究、写作参考,和把内容二次发布出去,是两条完全不同的线。我的做法是给每条记录都保留原文链接、作者、发布时间三个字段,任何时候引用都能溯源。这不只是为了合规,也是为了自己回头核对时方便。
具体到使用上,几条我严格遵守的:
- 引用他人观点和数据时标注来源,不做“洗稿式”改写后当成原创。
- 整篇存档只用于个人检索,不外发、不聚合发布、不做成公开的内容库。
- 图片单独使用时格外谨慎,尤其是带水印或署名的。
- 商业用途一律回到原始授权渠道,不拿存档内容顶替。
这些规则写下来显得刻板,实际执行成本很低,因为它们在采集阶段就已经通过“保留元信息”这个动作被覆盖了。
4.3 频率、身份与对源站的影响
即便在允许的范围内,采集行为也要有分寸感。我的几条自我约束:
控制频率。批量处理时加固定间隔,不做并发轰炸。一个源一天更新三篇,你去请求三十次,这没有任何必要。间隔设长一点,对你的时效性几乎没有影响,因为你的阅读节奏本来就赶不上更新节奏。
不做伪装。用什么身份访问就用什么身份,不改请求头去冒充别的客户端。这条看起来是技术细节,实际是态度问题——伪装意味着你在隐瞒行为,而正常的个人阅读不需要隐瞒。
尊重源站的技术声明。站点如果有明确的抓取规则说明,照着做。这个成本很低,但能避免绝大多数麻烦。
留好退路。任何自动采集方案都要预设“明天就不能用了”的情况,所以采集结果必须落地成本地文件,而不是只存在某个服务的云端。这一点在选型时就要考虑进去。
5. 一次完整实操:从一条链接到一篇可检索的笔记
前面讲的都是结构和原则,这一节直接上流程。我拿自己每天在跑的这套走一遍,从单篇到批量都有,照着改改就能用。
5.1 单篇:保存、抽取、重命名、入库
单个文章的采集我建议做成固定四步,形成肌肉记忆。
第一步,保存原始内容。用剪藏工具把正文区域选出来,或者整页保存到00-inbox。这个阶段不要做任何修饰,先保证内容完整落地。宁可脏,不可缺。
第二步,抽取与清洗。打开文件,删掉开头引导段、文末推荐区、各种分割线。这一步手动做,一篇大概三十秒。同时补上元信息头,我用的是固定模板:
--- title: 原文标题 source: 来源账号 author: 作者署名 published: 2024-05-12 collected: 2024-06-01 url: 原文链接 tags: [待归类] status: inbox ---这个头部字段看着多,实际填起来只有tags需要动脑,其他都是复制粘贴。它的价值在三个月后才体现:你可以按published排时间线,按source做来源分析,按tags做主题聚合。
第三步,重命名。改成YYYYMMDD-来源-标题关键词.md。日期用发布时间,不是采集时间,因为你要按内容的时间线组织,不是按你的动作时间线。
第四步,写一句话摘要。就是前面三问里的第三问答案。写在正文最前面,用引用块包起来。这句话是未来检索时最重要的钩子,不要省。
5.2 批量:去重、增量、失败重试
批量处理的核心不是“抓得快”,是“不重复抓、不漏抓、抓失败能发现”。三个机制缺一不可。
去重我最常用的三重校验,成本从低到高:
# 伪代码,逻辑示意 def is_duplicate(item, index): # 1. 原文链接归一化后精确匹配(去掉跟踪参数) if normalize_url(item.url) in index.urls: return True # 2. 标题归一化后匹配(去空格、标点、全半角统一) if normalize_title(item.title) in index.titles: return True # 3. 正文指纹相似度(对长文有效,短文容易误判) if similarity(item.body_hash, index.hashes) > 0.92: return True return False实际跑下来,第一层能拦掉八成重复,第二层再拦一成多,第三层主要防“同一篇文章被不同账号转载”这种情况。第三层的阈值不要设太低,0.92 是我试出来的经验值,再低就会把同主题的不同文章误判成重复。
增量靠游标。记录每个源上次采集到的最新时间或最新文章标识,下次只处理更新的部分。不要每次全量扫,全量扫在源多的时候会越来越慢,而且请求量白白增加。
失败重试要区分两类失败:网络类失败(超时、连接中断)可以重试,结构类失败(页面改版、字段找不到)重试多少次都没用,应该直接进人工队列并告警。我最初的脚本没做这个区分,结果一个源改版之后,脚本重试了三天,日志刷了几百兆,问题一点没解决。
5.3 校验:怎么确认没漏没坏
批量采集最怕静默失败。我的校验分三层,从便宜到贵:
第一层,数量核对。每次运行记录“发现多少条、成功多少条、跳过多少条、失败多少条”,四个数字加起来必须等于发现数。这是最基本的一致性检查,能拦住绝大多数逻辑错误。
第二层,内容阈值。正文长度少于三百字、图片数量为零(原文明显有图的情况下)、标签字段缺失,这三类标记为可疑,进人工抽查队列。这个检查拦住过我遇到的最大一次事故——某个源改版后,抽取规则匹配到了一个空容器,连续两周产出的全是只有标题的空文档。
第三层,抽样人工。每周随机抽十篇,完整读一遍,确认清洗没删掉关键内容、图片路径没坏、代码块格式没乱。抽样比例不高,但足以发现系统性问题。
这三层的成本比例大概是 1:5:50,但拦住问题的价值是反过来的。前两层自动化做掉,第三层用来发现“你没想到要检查的东西”。
6. 翻车记录:几个高频故障的排查链路
下面这几个坑我全踩过,而且不止一次。写出来是因为它们的排查过程比结论更有价值——下次遇到类似现象,你能顺着这条链走一遍。
6.1 正文抽出来是空的,或者带着一堆导航
现象:文件生成成功,但打开只有标题和几行导航文字。
排查链路:先看源页面结构有没有变。最直接的办法是手动打开原链接,对比抽取结果——如果页面上正文正常显示,说明是你的规则问题。然后检查抽取用的选择器是否还命中元素:很多页面的正文容器 class 名带随机后缀,改版一次就全变。
根因通常是三种:选择器写得太具体(依赖了随机类名)、页面用了懒加载(内容在脚本执行后才出现)、以及文章本身是特殊排版(比如图片长文、卡片式布局)。
修复思路:选择器尽量用结构特征而不是具体类名,比如“包含最多段落文本的那个容器”这种启发式规则,比写死路径稳得多。同时加一个兜底逻辑——抽取结果少于阈值时,保留整页 HTML 并标记为待处理,至少不丢内容。我现在的规则里,抽取失败的内容会原样留在00-inbox并加上status: raw标记,周末手动处理。
6.2 图片全挂与相对路径踩坑
现象:几个月后打开旧文档,图片全是裂的。
根因:图片链接指向原站,原站做了防盗链或者换了图床,链接失效。这个问题的延迟特别长,采集当时完全正常,等你发现时已经积累了几百篇坏图。
修复方案:采集时就把图片下载到本地_assets目录,正文里改成相对路径引用。目录按文章日期分层,避免单目录文件过多:
_assets/ 2024/ 06/ 20240601-文章标识/ img-01.jpg img-02.png正文里的引用写成../_assets/2024/06/20240601-文章标识/img-01.jpg这种形式。用相对路径而不是绝对路径,这样整个库可以随时打包搬到别的机器或别的编辑器里,不用改任何引用。
这个改动做完之后,我的库才算真正“独立”——不依赖任何外部服务就能完整阅读。代价是存储体积变大,但文本和图片的体积完全在可接受范围内。
6.3 编码、换行、脚注被打乱
现象:中文标点变成乱码、段落全挤成一行、代码块里的缩进没了。
排查顺序:先确认文件编码统一是 UTF-8(不带 BOM)。带 BOM 的文件在某些编辑器里开头会多出不可见字符,导致解析异常。再检查换行符,Windows 的 CRLF 和 Unix 的 LF 混用会让某些工具把整篇当成一行。
最容易忽略的是代码块和表格。公众号文章里贴的代码经常带全角空格或不可见字符,复制出来跑不了。我的处理方式是在清洗阶段做一遍字符规范化:全角空格转半角、连续空行压缩成两行、代码块前后强制空行。这些看着是小问题,但积累多了会让整个库变得“不敢信”,而不信任的库等于没有。
脚注和引用块的问题更隐蔽。有些文章用上标数字做注释,抽取后数字和正文黏在一起,读起来像乱码。这种情况我一般在清洗时手动改成行内括号注释,虽然破坏了原文格式,但可读性优先。
6.4 原文被改过,你手里的版本是旧的
现象:引用了一篇文章的数据,回头核对发现原文已经改了,你手里的版本和线上对不上。
这个问题没有完美解,但可以降低风险。我的做法是三条:
一是保留采集时间戳(collected字段),引用时明确说“截至某年某月版本”。二是对关键数据做快照式摘录,把原文里的数字、表格直接复制到自己的笔记里,附上采集日期,这样即使原文消失,你的引用依据还在。三是重要内容做二次核对,写正式材料前回到原链接确认一遍,尤其是涉及数据和方法论的部分。
这里有个心态问题值得说:很多人默认“存下来就是永久的”,实际上网络内容的半衰期比想象中短得多。把存档当成“某个时间点的快照”而不是“永恒真相”,引用时自然会谨慎。
7. 采集之后:让存量内容真正被用起来
采集只是原料入库,价值产生在复用环节。我见过太多库建得很漂亮但从不打开的情况,问题往往出在最后这一公里——标签太多太细、摘要写成原文缩写、回顾全靠自觉。
7.1 标签体系:少而稳,别做无限层级
标签系统最常见的失败模式是“越建越细”。一开始三个标签,用了两个月变成四十个,然后你自己都记不清哪篇该打哪个,最后干脆不打。
我的原则是标签数量控制在十五个以内,且只做一层。层级用目录解决,标签只表达“这篇讲的是什么主题”。比如我做内容研究的库,标签就这些:方法论、案例、数据、工具、行业观察、写作技巧、访谈、书摘,加几个和当前项目绑定的临时标签。超过十五个就说明你在用标签做目录该做的事。
另外一条经验:标签要复用得足够频繁才有意义。如果某个标签下只有一两篇,那它不叫分类,叫备注,直接写进正文里更合适。我每季度会清理一次标签,把少于三篇的合并掉。
7.2 摘录与摘要的最小成本写法
摘要写不好,整个库的检索效率会掉一半。我踩过的坑是把摘要写成“本文介绍了某某方法”,这种摘要没有任何检索价值,因为它不含具体信息。
有效的摘要应该包含三个要素:这篇解决的具体问题、给出的关键结论或数据、以及你打算怎么用它。举个例子,与其写“介绍了一种信息整理方法”,不如写“提出用 inbox 中间态降低归档阻力,实测把周均归档时间从两小时压到四十分钟;可用于优化自己的周流程”。后者包含了方法、量化结果和用途,任何一项都能成为未来检索的入口。
摘录也要克制。我的习惯是每篇最多摘三段,且必须写一句“为什么摘这段”。纯粹的原文摘抄,三个月后你自己都看不懂当时为什么觉得它重要。
7.3 回顾机制:靠日历而不是靠自觉
“定期回顾”这四个字是所有知识管理方法里最容易落空的一条,因为它依赖自律,而自律不可靠。我的解决办法是把它变成一个日历事件,固定时间段,有明确的动作清单,不依赖当天的状态。
具体安排是这样:每周日晚三十分钟处理00-inbox,把所有待归类的内容过一遍,打标签、写摘要、移到对应目录;每月最后一个周末一小时,随机抽十篇重读,把其中还有价值的内容提炼成一条自己的笔记,没价值的移到90-archive;每季度半小时,清理标签、检查坏链、统计一下本季度的“被引用次数”。
这套机制跑下来,最大的收获不是“用上了多少存量”,而是采集时的判断变得更准了。因为每周都要处理 inbox,你会本能地减少无意义的采集——毕竟每多收一篇,周末就多一份活。这种负反馈比任何自律技巧都有效。
最后分享一个我自己用了很久的小技巧:在每篇笔记的末尾留一行## 后续,写一句“下次看到这个主题时,我应该先查什么”。这句话是写给未来的自己的路标,比任何标签都直接。我现在找东西,很多时候是先在某个旧笔记的这行字里找到线索,然后顺着摸到一整串相关内容。库的价值从来不在条目数量,而在这些条目之间能不能连成线。