同一批页面,第一次抓和以后每天抓,代价差得很远。第一次要把所有页面都过一遍,量最大;之后只抓变化的那些,量小得多。这两种做法在代理IP的安排上,侧重的东西也不一样。
两种做法的差别在哪
全量的特点是请求集中在几天内完成,对线路的要求是短时间能扛住较大的并发,单条线路能用多久反而次要。增量的特点是每天都要跑,量不大但从不间断,对线路的要求变成了长期的可用性,偶尔断一次影响也不大,第二天还能补上。
这两种特点决定了资源怎么配。全量阶段适合短周期的资源,用完就撤,峰值那几天的用量不要拿来推算平时的规模;增量阶段适合能长期稳定的线路,配置一次管很久,中间频繁换线反而容易打乱已经跑顺的节奏。两类的额度也建议分开算,账目清楚,后面调整才有依据。
| 维度 | 全量采集 | 增量采集 |
|---|---|---|
| 请求总量 | 集中在几天内跑完 | 每天少量、长期持续 |
| 对线路的要求 | 短期并发能力 | 长期可用性 |
| 资源类型 | 短周期、按量 | 长周期、稳定 |
| 失败容忍度 | 低,当日要补回 | 高,次日可补 |
把这两种做法混在一个池子里用同一批资源,通常会出现浪费:全量阶段不够用,增量阶段大部分资源闲置。分开配,各用各的,账也更好算。代理IP在这两种场景下的选法,就是顺着这个差别来的。
全量什么时候用
第一次建库、页面结构大改之后重新抓、需要一份完整对照快照的时候,都要走全量。这类任务有明确的结束点,跑完就停,资源可以临时加、用完释放。安排上要留出重跑的时间,别把计划卡在最后一天。
增量要注意什么
增量的判断依据是页面有没有变。常用的做法是比对摘要或者时间戳,只抓变了的那些。判断逻辑本身要稳,误判会导致漏抓或者重复抓。漏抓不容易发现,重复抓则会白白消耗线路,两种都要在记录里能看出来。
- 变化判断的依据要固定,不要中途换
- 漏抓比重复抓更难发现,要定期抽查
- 每日任务的失败要能在次日补上
- 增量跑一段时间后,安排一次全量对照
两种可以混着用吗
可以。常见的组合是平时跑增量,每隔一段时间做一次全量校准,把增量阶段漏掉的补回来。校准时段的安排要和增量错开,避免两套任务同时抢线路。
线路怎么分
建议把全量和增量的代理IP资源分开记,各管各的额度。混在一起的时候,全量阶段一冲,增量任务的线路被挤掉,第二天才发现当天的数据缺了一块。分开之后,两类任务的账互不影响,哪一类不够用也看得清楚。
两类任务的额度不要互相挪用。
两种做法的差别落到安排上就三件事:资源的周期、并发的规模、失败怎么补。把这三件想清楚,采集计划就不会在月中突然卡住。先分清哪一段是全量、哪一段是增量,资源才好配。
