判断采集是否遗漏,不能只看采集程序有没有报错,而要把“采集端记录”“目标站实际返回”“入库结果”三条证据链对齐。具体做法是:先固定一批已知存在的样本页面,再用不同IP与请求方式复核,最后对比采集日志和数据库记录。只要某一步的样本对不上,就说明存在遗漏,而不是采集任务整体成功。
要查的是:目标站上你确定存在的页面清单。怎么查:从站点地图、栏目分页、站内搜索结果或已知文章ID中,人工整理出30到50条样本,覆盖首页、列表页、详情页和最后一页。结果说明:如果样本本身不完整,后续判断就没有基准。样本要记录URL、预期标题、预期正文特征,最好包含少量分页末尾和带参数的页面。适用条件是目标站结构相对稳定;如果目标站频繁改版,样本集要每次诊断前重建。
要查的是:采集程序发出的请求,目标站是否返回了正常内容。怎么查:在采集日志中记录每次请求的URL、状态码、响应长度和耗时;再抽取若干条,用相同IP和不同IP分别手动请求,比较返回内容。结果说明:如果同一URL在采集日志中状态码为200,但响应长度明显偏短,可能是被返回了验证页或空壳页;如果换IP后内容完整,说明原IP可能被限制。这里要区分“可能原因”和“已经定位的原因”:状态码正常不等于内容完整,必须看响应体特征。
要查的是:采集是否只抓了第一页或前几页。怎么查:找到列表页的分页参数,手动访问最后一页和倒数第二页,确认页面存在;再查看采集记录中是否包含这些页码的URL。结果说明:如果最后一页没有被请求,说明分页终止条件设置过严;如果请求了但没入库,说明解析或去重环节出了问题。适用条件是列表页有明确分页;对于无限滚动页面,要改用接口请求或滚动加载记录来判断。
要查的是:数据库中的记录数是否与目标站可采集总量一致。怎么查:用目标站栏目计数、站点地图条目数或站内搜索命中数作为参考,与数据库按同一时间范围统计的结果对比。结果说明:两边数量差距较大时,先排除目标站本身包含重复URL、草稿或已删除页面;再检查采集端是否有去重规则误杀。注意第三方估算流量、搜索引擎报告与站内统计口径不同,不能只用某一个指标推断采集完整性。
要查的是:共享IP是否导致部分请求被区别对待。怎么查:准备两个不同出口IP,对同一批样本分别请求,记录状态码、响应长度和关键内容是否出现。结果说明:如果某个IP下部分页面返回验证页或空内容,而另一个IP正常,说明该IP的请求可能被限制,采集遗漏与IP环境有关。适用条件是你能控制或切换出口IP;如果无法切换,可以用请求头、访问频率和Cookie状态做替代对比。
下一步,选取一个你怀疑遗漏的栏目,按上面的清单逐项记录证据。只要“请求到达”“内容完整”“成功入库”三件事不能同时成立,就继续往下查,直到定位到具体环节。