source
定义source url,可多个。如:{163.com,qq.com}。
遍历
以source为起点,广度优先进行图遍历。
具体实现为:将待遍历的url加入队列。每次取列头遍历,并将子节点加入队列。
深度优先:递归。
判重
使用bloomfilter判断url是否已经遍历过。
考虑服务的分布式实现,将判重作为一个独立的服务,供多个爬虫调用。
使用redis实现bloomfilter,即将bitset保存到redis。即实现分布式,又实现了持久化。
索引
处理当前url获取的数据:分词,索引等。
并将该url中出现的url去重后,加入队列。
队列
待遍历队列,可使用kafka或redis set。