网络爬虫项目开发日志(七): 基于MD5去重树的爬虫设计与优化

本文介绍了如何通过MD5去重树优化爬虫效率,利用MD5加密降低碰撞率,结合树结构降低空间复杂度,理论上使空间需求从300G降至5G,并将查找时间复杂度接近O(1)。
摘要由CSDN通过智能技术生成

--注--

本文仅做研究交流用,非工业化标准,各位大神不喜勿喷哈

--引言--

爬虫系统在面对海量网页数据时,会因为DNS解析以及URL去重而消耗大量的时间,为了更好的改进爬虫的效率,让爬虫在大数据处理时依然拥有良好的性能,我打算使用哈希链表缓存DNS,效率提升2.5~3倍,再将MD5双发以及树结合设计出一种基于MD5的url去重树,理论上使得url去重的空间复杂度相对于普通哈希表缩小60倍,而且让其查重的时间复杂度接近于O(1)。

关于DNS解析,实际项目中,我们是用redis来缓存的,在此不做赘述,我们主要来说下URL去重的问题:

--开始--

互联网上的链接多达几十亿甚至上百亿,而其中有许多url的长度为上百个字符,更有甚者可以达上千个字符。假如爬虫已经抓取了50亿的网页,而每个url平均所占字符为64b,那么存储这些url所

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值