url去重方法和字符串编码

原创 2018年04月16日 14:43:32

url去重方法

1.将访问过的url保存到数据库中
应用简单,效率低
2.将访问过的url保存到set中,只需o(1)的代价就可以查询url
效率高,但是随着数据的增加,内存会出现占用过大。
100000000*2byte*50字符/1024/1024/1024=9G
3.url经过md5编码等方法哈希后保存到set中
固定编码,压缩url,节省了内存
4.用bitmap方法,将访问过的url通过hash函数映射到某一位
5.boomfilter方法对bitmap进行改进,多重hash函数降低冲突

字符串编码

1.计算机只能处理数字,文本转换为数字才能处理。计算机中8个bit作为一个字节,所以一个字节可以表示最大的数字就是255
2.计算机是美国人发明的,所以一个字节可以表示所有的字符,所以ASCII(一个字节)编码就成为美国人的标准编码
3.中国指定了GB2312编码,用两个字节表示一个汉字。GB2312还把ASCII包含进去了。多国标准语言混合显示必然会导致乱码的出现
4.unicode的出现,将所有的语言统一到一套编码里
5.ASCII和unicode编码的区别

字母A用ASCII编码十进制是65,二进制是0100 0001
汉字“中”超出了ASCII编码的范围,用unicode编码是20013,二进制是01001110 00101101
A用unicode编码只需要前面补0就可以了,二进制是0000 0000 0100 0001
6.解决了乱码问题,但是内容全是英文,unicode编码比ASCII需要多一倍的存储空间,传输需要多一倍的传输
7.出现了“UTF-8”把英文变长一个字节,汉字3个字节,特别生僻的变成4-8字节,如果传输大量英文,utf8作用就非常明显

编码格式演示
UTF-8
python2


python3




版权声明:版权归作者个人所有,未经本人授权,只能用于学习、交流、研究。 https://blog.csdn.net/qq_31847191/article/details/79960440

大量的URL 字符串,如何从中去除重复的,优化时间空间复杂度

1、如果内存足够的话,用hash表
  • Army_War
  • Army_War
  • 2014-07-23 18:12:38
  • 1710

算法习题38:百度面试题(天平,大量输入流,URL去重)

百度面试: 1.用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用x次天平,最多可以从y个小球中找出较轻的那个,求y与x的关系式 2.有一个很大很大的输入流,大到没有存储器可以将...
  • ylf13
  • ylf13
  • 2013-10-31 11:51:47
  • 1277

url去重算法降低时间复杂度(python小技巧)

啊啊啊啊啊啊啊
  • nextdoor6
  • nextdoor6
  • 2016-11-24 15:07:36
  • 1334

大量url去重问题

url列表文件高达1G那么大,可是内存只有128M,怎么办? 其实工作很经常遇到这个问题(常常动不动一个文件就接近10G),因为需要统计站点、后缀什么的。可每次我都是直接用sort,uniq命令几行...
  • jollyjumper
  • jollyjumper
  • 2011-05-12 21:01:00
  • 1551

python字符串与url编码的转换

python url编码
  • Tangzongyu123
  • Tangzongyu123
  • 2017-07-17 13:09:33
  • 2989

URL去重思路

URL去重
  • u011878191
  • u011878191
  • 2015-05-05 13:53:29
  • 964

URL中字符串的编码及URL跳转

提交表单的时候,字符串中就是经过编码的字符。空格、反斜杠都会被转义。     使用一下的代码,就能起到一样的转义效果,     其中param是一个Json键值对。 for(var p in...
  • f1520107395
  • f1520107395
  • 2015-01-12 21:36:35
  • 986

网络爬虫:URL去重策略之布隆过滤器(BloomFilter)的使用

最近被网络爬虫中的去重策略所困扰。使用一些其他的“理想”的去重策略,不过在运行过程中总是会不太听话。不过当我发现了BloomFilter这个东西的时候,的确,这里是我目前找到的最靠谱的一种方法。...
  • u013761665
  • u013761665
  • 2015-08-25 22:45:19
  • 10675

bitmap实现大数据排序和去重

要点:假如有10亿元素,全部数据读进内存,占用 1000000000 * 4 / 1024 / 1024 /1024 ≈ 3.725 G,爆炸!解决方法:bitmap算法,每一位都能表示一位数字,10...
  • zpalyq110
  • zpalyq110
  • 2018-02-28 21:49:26
  • 94

URL编码解码免费小工具

  • 2010年11月15日 15:59
  • 53KB
  • 下载
收藏助手
不良信息举报
您举报文章:url去重方法和字符串编码
举报原因:
原因补充:

(最多只允许输入30个字)