
你好呀,我是歪歪。
(相关资料图)
事情是这样的,前两天下班的路上,我在手机上刷刷刷的时候,突然看到了知乎上这样的一个回答:
这个富哥哥说它要从点赞的用户中随机抽取 10 人,每人送 999 元。而且每三天一轮,一共五轮。那就是 5 * 10 * 999 = 49950 元啊。
在这个回答里面富哥哥为了展示实力,还附上了一个截图,截图显示他有 944w 元的存款。
当时我觉得有点意思,就随手转到了自己的“文件传输助手”,想要蹲一个后续:
可以看到我转发的时间是晚上 20 点 39 分,此时这个回答只有 1159 个赞。
其实在知乎上,一个回答有 1159 个赞已经不算少了,但是我为什么会用“只有”这个词呢?
这是我第二天下午 16 点 58 分的截图,这个回答的点赞数来到了 1w+:
可以看到此时的数据为:1w 点赞,4569 个喜欢,3848 个收藏,3223 个评论。相当不错的数据了。
果然,有钱人的快乐,是难以想象的。
但是,我的关注点在于这几个字:
这个回答有 1w 个点赞用户,那么问题就来了:
这个富哥哥,也就是答主可以拿到这 1w 个用户到底是哪些人吗?
是的,当大家都被金钱蒙蔽了双眼的时候,作为一个严肃读者,我还在从一个极其刁钻的角度寻找素材。
为了验证这个问题,我也在这个问题下面进行了回答:
但是第二天,这个回答居然被官方给“夹”了,说我存在“诱导赞同、关注等不规范引流行为”:
看到这个消息的时候,我当时就是一个震惊:好家伙,我本来只是一个一心想要知道“到底能不能知道有哪些人给我点赞”了,从而判断别人是否能基于这个数据进行抽奖的沙雕程序员而已,结果我变成“骗赞”的了?
当时我就是主打一个愤怒,立刻发起了一个申诉,给自己伸冤。申述的理由就是这个回答下面这么多骗赞的、引流的怎么不处理,就对我这个小可怜重拳出击?
结果...
此时,我也发现官方真的是重拳出击了,把一些排名靠前的,几万赞的回答都给“夹”了,包括我前面最开始看到的 1w+ 的回答。
这一天是 4 月 12 日,本来,高赞里面有一个帖子说的是在这一天要开奖的,不管他开不开,都算是一个不错的素材,结果官方出手了。
哎,可惜了,丢失一个素材。
虽然大量的回答被删除了,研究对象基本上都丢失了,但是我实验还没做完,对于一个答主来说“到底能不能知道有哪些人给我点赞”这个问题还没得到验证,于是头铁的我又重新回答了一次:
https://www.zhihu.com/question/494101013/answer/2980029133
截止写文章的时候,有 93 个赞,对于分析问题来说,够够的了。
首先,“93” 这个数字,肯定是后端接口传递过来的。
设计接口的时候,会不会是把 “93” 具体是哪 93 个用户给返回回来呢?
后端返回这个回答下点击了“赞同”的用户 List 集合,前端获取 List 集合大小,从而得到“赞同”的数量。
如果真的是这样做的,那么我只能说前端是“卧龙”,后端是“凤雏”,这是“天才般”的设计。
用大脚趾母稍微想一想就知道这里肯定是后端直接返回了“94”这个数字。
那么谁才有可能知道“94”这个数字具体代表哪些人呢?
肯定是只有答主才有可能知道。
对于答主来说,在页面的右上角,有一个“消息”按钮,当有消息通知的时候,会推送到这里:
通知的类型包括这些:
里面就有我本次关心的“赞同”,只不过官方把“赞同”和“喜欢”归为了同一类通知。
选到这个选项卡的时候,我就能看到谁在什么时候赞同了我的哪个回答:
从标号为 ① 的地方,可以看到确实有具体是“哪个用户”给我点了赞。
这样看起来似乎确实是可以知道“有哪些人给我点了赞”。
但是你看标号为 ② 的地方,是这样写的:
匿名用户、captain、冷静 等 4 人赞同了你的回答· 13:17
朋友们,这个“等”字用的就很灵性了啊。
我再给你看一个:
“等 4 人”、“等 21 人”,但是这个“等”前面只给了三个用户名称。
剩下的人到底是谁呢?
页面上没有显示,但是我有理由怀疑在这个接口里面可能是返回了这部分数据的。
于是我找到了这部分数据返回的接口,以及具体的数据:
可以看到,页面上的名字和接口中返回的名字是可以一一对应的,而“嘻嘻xi”这个用户名称就是被“等”给隐藏掉了。
也就是说从目前来看,确实是可以拿到具体的点赞用户名称的。
既然能拿到,那我也就打算写个程序把给我点赞的朋友们,都拉出来看看,具体都有谁。
于是,一段莫名其妙的代码就出现在了我的电脑上,运行起来之后,也打印出了一些莫名其妙的日志:
反正就是不知道怎么回事吧,我就拿到了这样的一个名单:
一共 66 人。
这个人数一统计出来,我发现不对劲了:
因为在我统计的时候,知乎上显示已经有 101 个赞了。
还有 35 个用户呢?
我甚至一顿怀疑是代码有问题,在我准备对代码进行核验的时候,出于程序员的职业习惯,我先看了一眼日志,发现了不对劲的地方。
当通知里面点赞的人数超过 5 人的时候,只会获取到 5 个用户的名称,比如下面这样的:
我也去验证了接口返回数据,确实是这样的:
所以,很多人就统计漏了。
因此,针对“到底能不能知道有哪些人给我点赞”的这个问题我们可以得出结论了:
如果给答主点赞的人不多,频率不高的话,类似于这种情况:
那么答主是可以在页面上就拿到完整点赞名单的,
如果给答主点赞的人不多,频率不高,出现“歪歪、王同学、歪师傅 等 x 人赞同了你的回答”这种情况,且 x 取值范围为 4 和 5 的时候,类似于这种情况:
经过前面的分析,可以通过接口拿到完整的点赞名单。
如果给答主点赞的人不多,频率不高,出现“歪歪、王同学、歪师傅 等 x 人赞同了你的回答”这种情况,且 x >5 的时候,类似于这种情况:
经过前面的分析,只可以通过接口拿到这个通知里面五个点赞用户的名称。
那么现在,我们回到最开始的这个地方:
这句话就不严谨了,它隐藏了一个条件:并不是所有的点赞用户。
然而参加“活动”的朋友,一定会认为:只要我点了赞,我就能进抽奖池。
但是实际情况是:对于这种高赞回答,你点了赞,也不一定能进抽奖池。
我前面说了,我 101 个赞的时候,只知道 66 个用户的昵称,也就是如果我做活动,那么也只有这 66 个用户有资格参与摇奖。
而当我把统计对象从这个回答,切换到我最近一个点赞比较多的帖子上的时候,数据情况是怎么样的呢?
这篇文章,最终只统计出了 542 个用户名称,只有 18.5% 的比例:
那些短时间内直接冲到高赞回答的帖子,比例只会更小。
综上,理论上是拿不到点赞的所有人名单。也就是说“从点赞”中抽取,如果真的是要做的话,也只能是“从点赞的人中的一部分中进行抽取”,而对于高赞来说这个“一部分”,应该是“极小的一部分”。
但是,这确实也能达到抽奖的效果,毕竟“富哥”确实是可以看到有用户给他点赞了,只不过看不到全部的而已。
所以对于点赞人数过多的帖子,我这边给到的建议是如果想要进抽奖池的话,选择在凌晨点赞,3-5 点为佳,这个时候有可能进抽奖池。
另外,对于这种,还要“收藏”的:
别想了,答主只知道一共有多少用户收藏了,但是也不知道具体有哪些用户,这个不知道指得是“一个点击了收藏的用户名称都不知道”,因为知乎就没有做这个通知。
甚至还有那些宣传前 10 点赞送 xx 元、前 50 送 xx 元、前 100 送 xx 元的。
哪些用户是前几点赞,他知道个“铲铲”。
最后,我想说的是,不要相信网上的这类活动,不要相信天上会掉馅饼。
除非哪个富哥哥真的 V 我几块,不然我是根本不会相信的。
(除非哪个富哥哥真的给我 V 钱了,不然我是根本不会相信的)
(在线等一个富哥哥宠幸...)
好了,就到这吧,打完收工。
关键词:
品牌