爬虫URL去重的优点和缺点

爬虫URL去重的优点和缺点

  • 1、将url保存到数据库中
  • 2、将url通过set方法到保存
  • 3、url经过md5等方法哈希后保存到set中
  • 4、levelDB
  • 5、 bloomfilter方法
  • 6、 redis

1、将url保存到数据库中

优点:速度快,不易丢失。             缺点:为避免重复每次存储时都会遍历数据库

2、将url通过set方法到保存

优点:速度快。			   缺点:数据太多时内存会负载过量
PS:set方法是将url保存到内存中,虽然读取很快,但是数据量过亿时会造成内存溢出,此方法只适合小型爬虫

3、url经过md5等方法哈希后保存到set中

优点:速度快,空间占用小				缺点:相对于方法1储存空间变小,数据过大时对数据库任然是个考验
import hashlib
str = 'This is your md5 password!'
md5_obj = hashlib.md5()
//进行MD5加密前必须 encode(编码),python里默认是unicode编码,必须转换成utf-8 否则会报错
md5_obj.update(str.encode(encoding='utf-8'))
print('MD5加密后为 :' + md5_obj.hexdigest())

4、levelDB

优点:速度快,内存占用小,不易丢失				缺点:暂未发现
PS:google开发的K,V数据库,采用键、值的方式存储,和redis比较相似,不过他是存在硬盘中。

5、 bloomfilter方法

优点:速度快,空间占用小					缺点:运行于内存之上,如果程序挂掉就前功尽弃

6、 redis

优点:速度快							缺点:数据量过大,占内存

你可能感兴趣的:(爬虫URL去重的优点和缺点)