十分钟开发一个抽奖工具,顺便抽个奖

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ly4wU5giY/article/details/79454228

大概不少人都知道我做过知乎想法的一个抽奖软件,你要是常年光顾知乎想法区域肯定看过别人拿我的想法抽奖软件来抽奖的,整个抽奖的网站大概就是这样子的,网站的框架是Flask,前端样式主要用Bootstrap框架。


640?wxfrom=5&wx_lazy=1


抽奖的流程就是先用爬虫采集待抽奖名单,然后用随机函数直接抽取相应人数的中奖者。这当中有一个注意事项就是:正常的随机函数只随机取一个值,所以当我们要抽奖多位中奖用户的时候,我们就需要多次随机,这里我们就需要在每一次随机之后把已经中奖的名单去掉,避免下次随机再随机到。


其实这个整个流程的跟我每次送书的时候给大家从赞赏里面随机抽奖的流程是一样的,比如说上一篇从赞赏里面随机抽50位送书的文章中。最后的结果是仅仅是安卓入口就有1000+位小伙伴给了我打赏,同时iOS端还有近800个赞赏。


640?wxfrom=5&wx_lazy=1


那么我第一步要做的就是先把这些名字都用爬虫采集出来,采集出来之后放在一个列表里面,接着使用Python中的random模块进行随机,random模块之下有一个sample可以用来随机取出几个值。假设我们有100个用户编号从1到100,从中随机抽取三位,如下编写即可。同理我把可以从近2000的用户昵称中,随机出50位用户。

640


有了实现过程,只需要在套用在一个网站框架上就做成了一简单的抽奖网站了。有些人可能有些摸不着头脑,没关系。我把知乎的那套抽奖网站给开源了,点击「阅读原文」可以直接访问到Github页面,为了让大家有些练手的机会,我特地在一些地方留了坑。


当然这只是一个简单的抽奖系统,稍稍复杂一点你可以考虑一下:如果一个用户多次赞赏怎么办?要求一个用户的赞赏金额越大抽到的概率越大应该怎么修改代码?如果要求在固定的时间开奖应该怎么加代码?


最后用以上的原理顺便在这里公布一下三月份的送书的中奖名单,因为参与的人数接近2000人,但是只送出50本,所以能中奖的人数比例就很少了。希望没中奖的小伙伴不要不开心,点击阅读原文去学习一下开发抽奖工具吧。


晚霞昏黄、S.Kingsley、Log、Bertram、春华秋实、朱新奇、sh、落花时节又逢君、@octobercms-china、happy pig、刘俊杰、谢琳萱Index、范范123、今天你吃黄焖鸡了吗、苗my苗?、庭前飘雨风逍遥、福尔摩白、Pilgrim、屁斐、细思极恐、Yummy World、朱新奇、Beau、52赫兹的Alice、Orochimaru


小卡、闹闹、Mrdemons、青柚酱、的华、董泽深、lalala、逸群、xypbbb、李文娟、王洋洋、有闲阶级、郑梦莎、阮光耀、罗材、赵坤、艾文宇、小军、黄贵宗、颜炜、马翩翩、丁飞、王莹、武汉猫咪、汪海松

640


请中奖的小伙伴抓紧在后台联系我,微信设定了一个规则:如果你24小时内不主动联系我,我也不能主动给你发送消息。所以请中奖的小伙伴主动在后台留言哈,我会第一时间回复你。


点击阅读原文,学习抽奖工具源码。

猜你喜欢

转载自blog.csdn.net/Ly4wU5giY/article/details/79454228