没有可展示的成功案例,并不等于没有可展示的工作过程。你可以把一次小样本能跑通、放大后出现例外的采集任务,整理成“条件—判断—动作—结果—边界”的记录,用可复现的推理链代替结果截图。这比堆功能说明更能证明你理解工具,也更接近真实工作中的排错方式。
两种条件下选择不同。第一种条件:你只有一次小范围跑通的经验,样本量小,换个站点结构就失效。第二种条件:你连跑通都没有,只做过规则配置练习,数据是本地静态页面。前者可以写成过程记录,后者只能写成学习笔记,不能包装成项目。
区分依据是:换一个页面结构、换一个字段位置、换一次翻页方式,你的规则还能不能重新跑通。如果每次都要从头猜,那说明你掌握的是一次性配置,不是可迁移的方法。可迁移的部分才是你真正能展示的东西。
假设你采集一个列表页,前二十条能正常入库,到第二十一页开始出现空字段。这个现象本身不能证明规则正确,也不能证明目标站有反采集。合理解释至少有三种:翻页参数只在部分页面生效、详情页模板存在多个版本、字段定位用了会随内容变化的顺序索引。把这三条列出来,再逐条设计验证动作,就是可靠过程的雏形。
操作流水账的问题是只写“点了什么”,不写“为什么这样点”。招聘方或合作方无法判断你在遇到例外时会怎么处理。决策记录要包含四个要素:当时的前提、你观察到的现象、你选择的动作、动作之后出现了什么变化。
具体动作可以从一条规则开始。例如字段采集为空时,先不修改整条规则,而是把该字段的定位方式从顺序索引改成基于稳定属性的定位,再只重跑一页做对比。如果空字段消失,说明问题出在定位方式;如果没有消失,下一步应检查页面是否异步加载,而不是继续调定位。这个动作的价值在于缩小了怀疑范围,而不是一次修好。
记录时要写清假设。比如“我假设第二十一页之后的列表项使用了不同的容器类名”,然后说明你用什么方式验证了这个假设,验证结果是支持还是推翻。被推翻的假设同样有价值,它排除了一个方向,让下一步更有依据。
小样本成立、规模化出现例外,最常见的原因是规则依赖了偶然稳定的条件。你要主动写出这些条件,而不是等别人发现。
把这些边界写进记录,等于告诉读者:这套过程在什么前提下成立,换条件后应该先验证哪一步。这比声称“方法通用”更可信。
假设任务是从一个结构相对固定的列表页采集标题和链接,目标是整理成可核对的清单。你不需要真实项目,只需要把过程写完整。
这个样本里没有成功案例,但有清晰的判断链。读者能看出你会先验证再修改,而不是随机试参数。它同时暴露了边界:规则只适用于结构一致的列表页,遇到多模板站点需要拆分任务。
没有成功案例时,最忌讳的是把过程写成结论。正确做法是明确当前状态:哪些条件已经验证,哪些还是假设,下一步准备验证什么。比如“目前确认标题字段在十页内稳定,链接字段在第六页之后出现空值,下一步准备对比第六页与第一页的列表容器结构,判断是模板差异还是加载时机差异”。
这样的表述让读者能判断你的思路是否可靠,也方便对方追问。如果对方问“为什么不是反采集导致的”,你可以回答:反采集通常伴随状态码变化或内容整体缺失,而当前只是单个字段为空,所以先排查结构差异更合理。这个回答展示的是排查顺序,不是结果。
最后,把记录整理成可读的文档,保留原始页面结构片段和规则配置片段,但不要伪造数据量或运行时长。能复现的判断过程,比无法验证的成功截图更有说服力。