URL去重-MD5算法学习笔记
URL去重-MD5算法学习笔记
在网络爬虫过程中,会爬取到很多相同的url,这个时候就需要我们去掉重复的URL。关于URL去重的算法有很多,刚刚学习了MD5算法。MD5算法是基于Hash的算法。所以首先说说Hash算法。
Hash算法
对于爬取下来的URL,可以基于Hash函数进行存储,也就是一个URL 经过Hash函数,映射到散列表中的一个具体的物理位置上。每次只要计算刚刚爬取下来的URL是否已经存在,就可以了。这样做,有两个问题。
- 主要依赖于Hash函数。如果Hash函数设计的不好,在进行映射的时候,发生碰撞的几率很大,则再进行碰撞的处理也非常复杂。
- 未经处理的URL有可能占用很大的存储空间
MD5算法
MD5算法是一种加密算法,同时它也是基于Hash的算法。**首先对URL字符串进行压缩,得到一个压缩字符串,解决了URL 占用很大存储空间的问题。**同时可以直接得到一个Hash地址。MD5进行Hash映射碰撞的几率非常小。
MD5算法的具体步骤
MD5算法:以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值