爬虫

source
定义source url,可多个。如:{163.com,qq.com}。

遍历
以source为起点,广度优先进行图遍历。
具体实现为:将待遍历的url加入队列。每次取列头遍历,并将子节点加入队列。
深度优先:递归。

判重
使用bloomfilter判断url是否已经遍历过。
考虑服务的分布式实现,将判重作为一个独立的服务,供多个爬虫调用。
使用redis实现bloomfilter,即将bitset保存到redis。即实现分布式,又实现了持久化。

索引
处理当前url获取的数据:分词,索引等。
并将该url中出现的url去重后,加入队列。

队列
待遍历队列,可使用kafka或redis set。

上一篇:Redis 缓存穿透、缓存击穿、缓存雪崩 等经典问题解读


下一篇:布隆过滤器