写了一个点赞机器人,这里把思路整理分享一下。 ##### 弄清怎么获得最多点赞回报 ###### 搜索和查看了很多贴子,并经过一些实际计算以后,最终结论跟@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根据前面的结论自行把握)。这里我们是有多个并行的条件的。平均价值越大的我们点的越早。 第三部分:大号带小号车队把标记为立即点赞的帖子处理掉。 这个方法其实有待商榷,个人认为这个对社区有一定的不良影响。 而且大家都明白这一点以后,可能有的帖子就得不到应得的收入了。 第四部分:报警和手动干预。 这一部分已经不属于机器人本身的功能了。但也是一个必要的功能。 有的时候,机器人找不到那么多值得投票的帖子,那么我们需要手动干预一下。 除了能手动修改机器人参数。 还添加了一个能手动点赞的界面。 手动设置限定条件,刷出抓取的帖子列表里符合条件的帖子。 ![](https://cdn.steemitimages.com/DQmakk2m9j4ztuhFaWn7isYUbtNt2FAuL7KznQwUpm9NiAQ/image.png)
post_id | 61,811,876 |
---|---|
author | liuzhixiang |
permlink | xxkod |
category | cn |
json_metadata | {"image":["https:\/\/cdn.steemitimages.com\/DQmakk2m9j4ztuhFaWn7isYUbtNt2FAuL7KznQwUpm9NiAQ\/image.png"],"app":"steemit\/0.1","tags":["cn","steemit","blog","python","ua"],"users":["tumutanzi"],"format":"markdown","links":["https:\/\/steemit.com\/cn\/@tumutanzi\/3uvcpk-steemit","https:\/\/steemit.com\/cn\/@liuzhixiang\/re-liuzhixiang-xxkod-20180907t122406118z"]} |
created | 2018-09-07 06:52:00 |
last_update | 2018-09-07 13:02:36 |
depth | 0 |
children | 4 |
net_rshares | 16,633,856,911,109 |
last_payout | 2018-09-14 06:52:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 13.529 SBD |
curator_payout_value | 4.138 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 1,571 |
author_reputation | 1,281,674,600,435 |
root_title | 如何写一个点赞机器人 |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
billbutler | 0 | 463,685,726,671 | 100% | ||
kaylinart | 0 | 665,507,897,209 | 100% | ||
dudutaulois | 0 | 171,379,440,911 | 100% | ||
ethansteem | 0 | 206,066,292,811 | 100% | ||
brains | 0 | 100,960,858,501 | 100% | ||
steemsportsfund | 0 | 129,003,514,698 | 100% | ||
valth | 0 | 181,022,190,227 | 100% | ||
blockops | 0 | 1,126,573,280,259 | 100% | ||
maryfavour | 0 | 381,140,311,805 | 100% | ||
inceptionally | 0 | 610,407,882,816 | 100% | ||
ozoo | 0 | 123,220,058,735 | 100% | ||
olsm | 0 | 323,209,795,079 | 100% | ||
lex030 | 0 | 291,059,575,163 | 100% | ||
ccir105 | 0 | 5,746,986,591 | 50% | ||
spectrumecons | 0 | 103,819,552,883 | 14% | ||
greenjuice | 0 | 378,307,032,553 | 100% | ||
youngogmarqs | 0 | 133,296,292 | 0.02% | ||
gunthertopp | 0 | 347,923,579,797 | 100% | ||
lisaocampo | 0 | 109,283,077,050 | 100% | ||
honourmaus | 0 | 2,013,162,182 | 40% | ||
steps | 0 | 304,077,618,880 | 100% | ||
robertking | 0 | 328,101,043,538 | 100% | ||
metmuseum | 0 | 242,768,503,889 | 100% | ||
rockz | 0 | 183,997,157,113 | 100% | ||
onetin84 | 0 | 22,883,093,209 | 23% | ||
malekalmsaddi | 0 | 184,919,629,425 | 100% | ||
dong262514 | 0 | 248,054,389,613 | 100% | ||
marysent | 0 | 245,634,162 | 5% | ||
kamikaze | 0 | 1,639,670,018,074 | 100% | ||
kusadasi | 0 | 660,277,433,050 | 100% | ||
angelol | 0 | 355,815,632,364 | 100% | ||
brittuf | 0 | 109,098,182,850 | 100% | ||
airbud23 | 0 | 1,530,453,227,914 | 100% | ||
kassixo | 0 | 105,482,166,348 | 100% | ||
brianturner | 0 | 137,891,078,357 | 100% | ||
youngbinlee | 0 | 268,289,528,267 | 100% | ||
pedrojunior | 0 | 135,362,884,088 | 100% | ||
gbd | 0 | 181,238,675,754 | 100% | ||
ariakianim | 0 | 6,094,290,742 | 100% | ||
yjcps | 0 | 1,898,484,033 | 100% | ||
sugardash | 0 | 100,985,044,084 | 100% | ||
cliffpower | 0 | 301,132,188,717 | 100% | ||
yb1337 | 0 | 160,086,630,531 | 100% | ||
eoss | 0 | 271,718,539,005 | 100% | ||
maln | 0 | 433,288,164,247 | 100% | ||
steem.services | 0 | 2,315,866,193,322 | 100% | ||
bitcoinranch | 0 | 81,074,527 | 100% | ||
timetraveljesus | 0 | 585,600,936 | 100% | ||
zappos | 0 | 103,086,962,043 | 100% | ||
cpipi | 0 | 482,417,058 | 100% | ||
daifeidaiyang | 0 | 607,283,994 | 100% | ||
y83852175 | 0 | -512,182,762 | -100% | ||
zy-sb | 0 | 480,345,659 | 100% | ||
aes-exchange | 0 | 138,965,408,565 | 100% | ||
steemscan | 0 | 74,153,168,543 | 100% | ||
rannarvasa1 | 0 | 300,481,737 | 50% | ||
liuzhixiang | 0 | 66,427,869 | 100% | ||
happyfamily | 0 | 93,202,898 | 100% | ||
mieba | 0 | 115,584,462 | 100% | ||
pawel282 | 0 | 504,667,919 | 100% | ||
richman-today | 0 | 577,732,173 | 100% | ||
shakevideo | 0 | 115,527,908 | 100% | ||
buildingpies | 0 | 363,539,075,627 | 100% | ||
ahmedraza01 | 0 | 455,188,144 | 100% |
四个结论怎么来的,直接跳过了。这里再解释一下。 ##### 结论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:我的点赞价值如果太大,我很吃亏。 这个结论就没什么好说的了。我们是大腿的情况下,我们就算是第一个点赞也薅不到多少羊毛。所以,缩小点赞比例,让别人当大腿吧!
post_id | 61,831,729 |
---|---|
author | liuzhixiang |
permlink | re-liuzhixiang-xxkod-20180907t122406118z |
category | cn |
json_metadata | {"app":"steemit\/0.1","tags":["cn"]} |
created | 2018-09-07 12:24:06 |
last_update | 2018-09-07 12:36:06 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2018-09-14 12:24:06 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 661 |
author_reputation | 1,281,674,600,435 |
root_title | 如何写一个点赞机器人 |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 0 |
Resteemed your article. This article was resteemed because you are part of the New Steemians project. You can learn more about it here: https://steemit.com/introduceyourself/@gaman/new-steemians-project-launch
post_id | 61,898,209 |
---|---|
author | gaman |
permlink | xxkod-gaman-09082018 |
category | cn |
json_metadata | {"app":"pysteem\/0.5.4"} |
created | 2018-09-08 06:51:51 |
last_update | 2018-09-08 06:51:51 |
depth | 1 |
children | 0 |
net_rshares | -52,316,154,601 |
last_payout | 2018-09-15 06:51:51 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 210 |
author_reputation | -1,760,173,813,288 |
root_title | 如何写一个点赞机器人 |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
mack-bot | 0 | -52,316,154,601 | -0.5% |
看到公式就头晕,但一点儿也不妨碍对你的佩服…😜 Posted using [Partiko Android](https://steemit.com/@partiko-android)
post_id | 62,322,330 |
---|---|
author | zy-sb |
permlink | zy-sb-re-liuzhixiang-xxkod-20180913t060834018z |
category | cn |
json_metadata | {"app":"partiko"} |
created | 2018-09-13 06:08:33 |
last_update | 2018-09-13 06:08:33 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2018-09-20 06:08:33 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 93 |
author_reputation | 2,089,296,130,854 |
root_title | 如何写一个点赞机器人 |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
本帖是错误的。当时不知道详细算法,被前面点赞人数那张图误导了。 我的点赞规则已经不是这样了。其实没这么复杂,过几天我再写一篇。
post_id | 66,133,492 |
---|---|
author | liuzhixiang |
permlink | re-liuzhixiang-xxkod-20181116t172124158z |
category | cn |
json_metadata | {"tags":["cn"],"app":"steemit\/0.1"} |
created | 2018-11-16 17:21:21 |
last_update | 2018-11-16 17:21:21 |
depth | 1 |
children | 0 |
net_rshares | 54,399,498,144 |
last_payout | 2018-11-23 17:21:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.025 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 64 |
author_reputation | 1,281,674,600,435 |
root_title | 如何写一个点赞机器人 |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
liuzhixiang | 0 | 445,539,543 | 100% | ||
steemexpress | 0 | 53,953,958,601 | 100% |