如何写一个点赞机器人

in cn •  17 days ago

写了一个点赞机器人,这里把思路整理分享一下。

弄清怎么获得最多点赞回报

搜索和查看了很多贴子,并经过一些实际计算以后,最终结论跟@tumutanzi的这个贴子说的一样。https://steemit.com/cn/@tumutanzi/3uvcpk-steemit

这里我稍微发散一下。

在我的点赞价值固定的前提下,我的点赞回报取决于我的点赞位置和大腿出现的位置(也就是绝大部分点赞价值出现的位置)。
点赞时间只决定了我跟作者的分成,这里我们先不考虑。
下面我们计算一下如何获得最多回报。

点赞人顺位n,点赞价值为Xn,我的位置为i,点赞价值为Xi。
我的点赞回报= 贴子的总价值/4 * 我的点赞权重/总的点赞权重
其中点赞权重为Xn/n
所以我的点赞回报 Y= (X1+X2+......Xn)/4 * Xi/i / (X1/1 + X2/2+......+Xn/n)

这个公式我们可以简化一下,最优的点赞情况应该是我第一个点赞,我和大腿中间的点赞价值为0,大腿最后一个点赞。
所以,Y = (Xi+Xn)/4 * Xi * / (Xi+Xn/n) = nXi(Xi +Xn) / 4 (nXi+Xn)

由此,我们可以得出以下结论
1:我应该尽量靠前点赞,最好是第一个。
2:比我先点赞的人,点赞价值应该很低。
3:我跟大腿中间最好有很多低价值小号点赞。
4:我的点赞价值如果太大,我很吃亏。

好吧,上面还是有点懵。我们说点人话。

  • 如果第一个人就是大腿,那么我们第二个点也得不了多少钱。
  • 如果前面已经有10-20个人点了,就算点赞价值仍然为0,我们点赞的价值也不大了。
  • 我们和大腿中间要间隔很多小号最好。所以,点赞机器人最好带一个小号车队。
  • 如果我们的点赞价值太大,最好把点赞比例调低点。

四个结论怎么来的,我又在评论里简单说了一下。https://steemit.com/cn/@liuzhixiang/re-liuzhixiang-xxkod-20180907t122406118z

实现这个点赞机器人

因为这里涉及到的编程知识很有限,会者不难,难者不会。这里就不贴代码了。只简单说一下我怎么做的。

我用python写的,整个程序分成四部分。

第一部分:抓取。
不断抓取和更新帖子,直接把声誉低于50的过滤掉。

第二部分:处理帖子列表。
如果发帖时间低于8分钟,暂不处理。

如果总点赞价值已经大于我的点赞价值,踢出列表。
如果已点赞数超过3,踢出列表。
如果发帖已经过了35分钟,踢出列表。

作者最近十个非resteem帖子,去掉一个最高价值,去掉一个最低价值,算帖子平均价值。
同时把平均点赞数低于20的帖子踢掉。

然后,帖子平均价值大于x,发帖时间大于y的时候标记为立即点赞。(X,Y根据前面的结论自行把握)。这里我们是有多个并行的条件的。平均价值越大的我们点的越早。

第三部分:大号带小号车队把标记为立即点赞的帖子处理掉。
这个方法其实有待商榷,个人认为这个对社区有一定的不良影响。
而且大家都明白这一点以后,可能有的帖子就得不到应得的收入了。

第四部分:报警和手动干预。
这一部分已经不属于机器人本身的功能了。但也是一个必要的功能。
有的时候,机器人找不到那么多值得投票的帖子,那么我们需要手动干预一下。
除了能手动修改机器人参数。
还添加了一个能手动点赞的界面。
手动设置限定条件,刷出抓取的帖子列表里符合条件的帖子。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

四个结论怎么来的,直接跳过了。这里再解释一下。

结论1:我应该尽量靠前点赞,最好是第一个

Y= (X1+X2+......Xn)/4 * Xi/i / (X1/1 + X2/2+......+Xn/n)
这就是一个股权稀释公式
由这个公式不难看出,当点赞总值固定的情况下, 我越早点赞被稀释得就越少。最佳情况,就是我第一个点赞。最坏的情况就是我最后一个点赞。

结论2:比我先点赞的人,点赞价值应该很低。
结论3:我跟大腿中间最好有很多低价值小号点赞。

根据结论1我们简化了公式。最有利于我们的情况是我们第一个点赞,而大腿最后一个点赞。
Y = (Xi+Xn)/4 * Xi * / (Xi+Xn/n) = nXi(Xi +Xn) / 4 (nXi+Xn)
点赞价值固定的前提下,我们调整一下公式
Y = Xi/4 * ( nXi +nXn )/ (nXi+Xn)
分子nXi+nXn增大速度是肯定大于nXi+Xn的,n越大我们得到的越多。
怎么让n更大呢?就是中间填一堆没有投票价值的小号,0/n=0。
这就是结论3,所以投票机器人最好带上小号车队。

如果大腿比我们先点赞,我们就成Xn了,我们的股权就被大腿稀释了。在我的位置n和点赞价值Xn固定的情况下,Xi越大我们被稀释得越多。这就是结论2。

结论4:我的点赞价值如果太大,我很吃亏。

这个结论就没什么好说的了。我们是大腿的情况下,我们就算是第一个点赞也薅不到多少羊毛。所以,缩小点赞比例,让别人当大腿吧!

看到公式就头晕,但一点儿也不妨碍对你的佩服…😜

Posted using Partiko Android