用户工具

站点工具


侧边栏

快速导航

lib:lottery-code

各平台抽奖代码

在工作中,会遇到一些场景需要进行抽奖。在抽奖时可以复用一些代码,降低抽奖的成本。同时,抽奖可以复用这里的代码。

如果不要求用代码实现,那么可以考虑直接使用抽奖平台

抖音抽奖

来源

import os
import json
import random

path = "/Users/glow/Desktop/aa/douyin/json" # json 文件位置
files = os.listdir(path)

jueyou = {} # 存储抖音所有掘友的 ID 和留言内容 为词典
nameList = [] # 存储掘友 ID

for file in files:
     if not os.path.isdir(file):
        with open(path+"/"+file) as f:
            js = json.load(f)
            for content in js["notice_list"]:
                name = content["comment"]["comment"]["user"]["nickname"]
                comment = content["comment"]["comment"]["text"]
                jueyou[name] = comment
                nameList.append(name)

newNameList = list(set(nameList))
print("1024活动抖音参与评论数为:", len(nameList))
print("1024活动抖音参与总人数为:", len(newNameList))


for i in range(10):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金笔记本的掘友抖音用户名是:%s 他的评论内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky) # 中奖就不进入下次奖池

for i in range(10):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金鼠标垫的掘友抖音用户名是:%s 他的评论内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky) # 中奖就不进入下次奖池

for i in range(10):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金水杯的掘友抖音用户名是:%s 他的评论内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky)

for i in range(5):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金T恤的掘友抖音用户名是:%s 他的评论内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky)

for i in range(5):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金大礼包的掘友抖音用户名是:%s 他的评论内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky)

掘金抽奖

来源

var nameList = []
var commentData = {}
var domList = document.querySelectorAll(".comment .content-box")
for( var i = 0; i < domList.length; i++) {
    var userName = domList[i].querySelectorAll(".username")[0].innerText
    var userComment = domList[i].querySelectorAll(".content")[0].innerText
    var userLink = domList[i].querySelectorAll(".username")[0].href
    commentData[userName] = userComment
    nameList.push(userName)
}

// 数组去重
var newNameList = Array.from(new Set(nameList))

for( var i = 0; i < 5; i++ ) {
    // 生成一位幸运的掘友
    var lucky = Math.floor(newNameList.length * Math.random())
    console.log(`获得掘金笔记本的掘友是:${newNameList[lucky]},留言为:${commentData[newNameList[lucky]]}`)
    // 把中奖机会让给其他掘友
    newNameList.splice(lucky, 1)
}

for( var i = 0; i < 5; i++ ) {
    // 生成一位幸运的掘友
    var lucky = Math.floor(newNameList.length * Math.random())
    console.log(`获得掘金鼠标垫的掘友是:${newNameList[lucky]},留言为:${commentData[newNameList[lucky]]}`)
    // 把中奖机会让给其他掘友
    newNameList.splice(lucky, 1)
}

for( var i = 0; i < 5; i++ ) {
    // 生成一位幸运的掘友
    var lucky = Math.floor(newNameList.length * Math.random())
    console.log(`获得掘金水杯的掘友是:${newNameList[lucky]},留言为:${commentData[newNameList[lucky]]}`)
    // 把中奖机会让给其他掘友
    newNameList.splice(lucky, 1)
}

for( var i = 0; i < 3; i++ ) {
    // 生成一位幸运的掘友
    var lucky = Math.floor(newNameList.length * Math.random())
    console.log(`获得掘金大礼包的掘友是:${newNameList[lucky]},留言为:${commentData[newNameList[lucky]]}`)
    // 把中奖机会让给其他掘友
    newNameList.splice(lucky, 1)
}

微信公众号抽奖

来源

import os
import json
import random

path = "/Users/panzimeng/Downloads/微信公众号/json" # json 文件位置
files = os.listdir(path)

jueyou = {} # 存储抖音所有掘友的 ID 和留言内容 为词典
nameList = [] # 存储掘友 ID

for file in files:
     if not os.path.isdir(file):
        with open(path+"/"+file) as f:
            js = json.load(f)
            data = json.loads(js["comment_list"])
            commentArray = data["comment"]
            for content in commentArray:
                name = content["nick_name"]
                comment = content["content"]
                jueyou[name] = comment
                nameList.append(name)


newNameList = list(set(nameList))
print("1024活动抖音参与评论数为:", len(nameList))
print("1024活动抖音参与总人数为:", len(newNameList))


for i in range(6):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金笔记本的掘友用户名是:%s,留言内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky) # 中奖就不进入下次奖池

for i in range(6):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金鼠标垫的掘友用户名是:%s,留言内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky) # 中奖就不进入下次奖池

for i in range(6):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金水杯的掘友用户名是:%s,留言内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky) # 中奖就不进入下次奖池

for i in range(3):
    lucky = random.randint(1,len(newNameList)) - 1
    print("获得掘金大礼包的掘友用户名是:%s,留言内容为:%s" % (newNameList[lucky], jueyou[newNameList[lucky]]))
    newNameList.pop(lucky) # 中奖就不进入下次奖池
lib/lottery-code.txt · 最后更改: 2020/12/19 23:26 (外部编辑)