绘制豆瓣用户增长曲线

我一直天真地以为豆瓣用户主页的URL是由唯一 username 确定用户的。后来发现有些用户主页的URL里出现的是用户ID。怀着好奇,我测试了一下,发现如下信息:

  1. 豆瓣的用户ID是从 1000001 开始的(鸡贼的阿北)
  2. 第一号用户是阿北(https://www.douban.com/people/1000001/)
  3. 第二号用户是苏丝黄(不认识,难道是阿北的老婆?)
  4. 通过二分法,确定豆瓣的最大用户ID是147674899(还在不停增长中)。也就是说豆瓣注册用户已经达到了1亿4千6百万(147674899-1000000)?
  5. 如果有兴趣,想要获取豆瓣每天的实际注册人数也是很简单的事情

对于一个商业网站,用户数量和订单数量等信息都属于商业敏感数据,不应暴露在外部,否则会导致『德国坦克』问题(二战时期,德国坦克的零件刻有编号,这个编号严格按照自然数自增长,盟军缴获德国坦克后,根据零件编号推算出德国人的坦克生产能力和坦克总数)。

豆瓣的程序员应该拉出去枪毙5分钟。。。(我觉得这是阿北当年埋下的坑)

说一下补救措施。 最简单的方案就是把用户ID加密一下,最简单快速好用的整数加密算法是skip32。从字面上看就知道是个32位整型的加密算法,加密64位整数的时候拆分两次加密就可以了。

通过抓取用户绘制出豆瓣用户增长曲线图。截止到2014年11月。

ill-1