当前位置: 首页 > 科技观察

教你写一个网络爬虫(7):URL去重

时间:2023-03-16 00:50:19 科技观察

本系列:《手把手教你写网络爬虫(1):网易云音乐歌单》《手把手教你写网络爬虫(2):迷你爬虫架构》《手把手教你写网络爬虫(3):开源爬虫框架对比》《手把手教你写网络爬虫(4):Scrapy入门》《手把手教你写网络爬虫(5):PhantomJS实战》《手把手教你写网络爬虫(6):分布式爬虫》IPv6编码地址数:2^128(约3.4×10^38)IPv6是IETF设计的下一代IP协议,用于替代当前版本的IP协议(IPv4)。它声称可以为世界上的每一粒沙子编制一个网站。publicbooleanput(Tobject,Funnelfunnel,intnumHashFunctions,BitArraybits){longbitSize=bits.bitSize();longhash64=Hashing.murmur3_128().hashObject(object,funnel).asLong();inthash1=(int)hash64;inthash2=(int)(hash64>>>32);booleanbitsChanged=false;for(inti=1;i<=numHashFunctions;i++){intcombinedHash=hash1+(i*hash2);//Flipallthebitsifit'snegative(guaranteedpositivenumber)if(combinedHash<0){combinedHash=~combinedHash;}bitsChanged|=bits.set(combinedHash%bitSize);}returnbitsChanged;}booleanset(longindex){if(!get(index)){data[(int)(index>>>6)]|=(1L<>>6)]&(1L<