爬虫
source
定义source url,可多个。如:{163.com,qq.com}。
遍历
以source为起点,广度优先进行图遍历。
具体实现为:将待遍历的url加入队列。每次取列头遍历,并将子节点加入队列。
深度优先:递归。
判重
使用bloomfilter判断url是否已经遍历过。
考虑服务的分布式实现,将判重作为一个独立的服务,供多个爬虫调用。
使用redis实现bloomfilter,即将bitset保存到redis。即实现分布式,又实现了持久化。
索引
处理当前url获取的数据:分词,索引等。
并将该url中出现的url去重后,加入队列。
队列
待遍历队列,可使用kafka或redis set。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步