数据量大了之后,全量重爬是灾难。这时候必须上增量。

增量爬取的核心:记住「上次爬到哪了」。

最简单的实现:用数据库主键去重。

-- 创建表
CREATE TABLE items (id INT PRIMARY KEY, content TEXT);
-- 插入时
INSERT OR IGNORE INTO items VALUES (?, ?)

爬之前查 max(id),只爬 id > max_id 的数据。

更通用的做法:用 URL 列表 + 状态字段:

pending → crawling → done / failed

重跑的时候只处理 pending 和 failed 的。

反爬做得好,一次爬完就不需要重爬;但现实是,总会有失败、中断、漏数据。增量机制是给自己留的「后悔药」。

做数据采集的,迟早要面对「数据丢了重新爬」的恐惧,早点把增量做了。


本文由 BBZ · 小朵科技工作室 出品。配套工具:评论采集软件 P07