如何写一个点赞机器人

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

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

搜索和查看了很多贴子,并经过一些实际计算以后,最终结论跟@tumutanzi的这个贴子说的一样。@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,我们点赞的价值也不大了。
  • 我们和大腿中间要间隔很多小号最好。所以,点赞机器人最好带一个小号车队。
  • 如果我们的点赞价值太大,最好把点赞比例调低点。

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

实现这个点赞机器人

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

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

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

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

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

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

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

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

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

H2
H3
H4
3 columns
2 columns
1 column
4 Comments