url去重策略
1.将访问过的url保存在数据库中
2.将访问过的url保存在set中,只需要O(1)时间复杂度就可以查询到url,内存占用越来越大
3.url讲过MD5编码缩减到一定长度字符存在set中(scrapy使用这种方法)
4.bitmap,将访问过的url通过hash函数映射到某一位
5.bloomfilter方法对于bitmap进行改进,多重hash函数降低冲突
unicode与utf8编码
字符串编码
1.计算机只能处理数字,文本转换为数字才能处理,计算机8个bit作为一个字节,所以说一个字节表示最大的数字就是255 11111111
2.计算机是美国人发明的,所以一个字节可以表示所有字符,所以ASCII编码作为美国人的标准编码,ASCII可以表示任意的字符,但是中文无法表示
3.但是ASCII处理中文明显是不够的,中文不止255个字符,所以中国制定了GB2312编码,用两个字节一个汉字
4.unicode将所有语言统一到一套编码里面
5.如果是英文前面补0
6.乱码问题解决,但是内容全是英文,unicode编码比ASCII需要多一倍的存储空间,同时传输需要一倍的存储。
7.utf8出现了可变长的编码,但是对于内存来说utf8编码不是那么好处理
在内存中使用uniocode编码,传输时候使用utf8编码