数据量大了之后,全量重爬是灾难。这时候必须上增量。
增量爬取的核心:记住「上次爬到哪了」。
最简单的实现:用数据库主键去重。
-- 创建表 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。