
第一次在 V2EX 做抽奖活动 送 giffgaff ,遇到很多问题,好在顺利结束。TG 群 eSIM Card 交流群 的 July 讲 V2EX 是有 API 的,于是心血来潮把抽奖的过程整理成 python 脚本。
权且就叫它 V2EX 抽奖小程序(大家不要见笑),希望能起到抛转引玉的效果,希望能帮助到有需要的人。
目前实现了以下主要功能:
欢迎提出自己的想法,欢迎适配,欢迎参与改进
| Created | Floor | UserName | Main page | Reply | Avatar |
|---|---|---|---|---|---|
| 2025-01-09 14:13:26 | 234 楼 | @C0dEr | C0dEr | 参与一下 | |
| 2025-01-13 14:32:18 | 354 楼 | @HaoBaiCai | HaoBaiCai | 参加一下 |
> python .\v2ex_lottery.py init Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Requirement already satisfied: pysocks in f:\documents\vscode\giffgaff\.conda\lib\site-packages (1.7.1) Requirement already satisfied: requests[socks] in f:\documents\vscode\giffgaff\.conda\lib\site-packages (2.32.3) Requirement already satisfied: charset-normalizer<4,>=2 in f:\documents\vscode\giffgaff\.conda\lib\site-packages (from requests[socks]) (3.4.1) Requirement already satisfied: idna<4,>=2.5 in f:\documents\vscode\giffgaff\.conda\lib\site-packages (from requests[socks]) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in f:\documents\vscode\giffgaff\.conda\lib\site-packages (from requests[socks]) (2.3.0) Requirement already satisfied: certifi>=2017.4.17 in f:\documents\vscode\giffgaff\.conda\lib\site-packages (from requests[socks]) (2024.12.14) 初始化配置中... 请输入您的 Bearer Token (请参考 help/personal-access-token 访问 settings/tokens 生成,安全起见输入后不会显示): 请输入代理地址 (如 socks5h://127.0.0.1:1080 ,留空表示不使用代理): socks5h://127.0.0.1:1080 配置完成! > python.exe .\v2ex_lottery.py 使用的 Token: 9--------------4 使用的代理: socks5h://127.0.0.1:1080 请输入主题 URL: https://v2ex.com/t/1103737 主题: T 楼 1.99 元 30 张英国 giffgaff ,TG 群抽奖同步送 30 张,总计 60 张,为 giffgaff 中国的普及做贡献 楼层总数: 357 请输入抽奖楼层数 (默认 357): 请输入中奖人数 (默认 1): 2 api/v2/topics/1103737/replies?p=12 api/v2/topics/1103737/replies?p=18 抽奖结果( 2025-01-18 21:12:47 ): 2025-01-09 14:13:26 第 234 楼: @C0dEr 2025-01-13 14:32:18 第 354 楼: @HaoBaiCai Markdown 抽奖结果( 2025-01-18 21:12:47 ): | Created | Floor | UserName | Main page | Reply | Avatar | |----------|------|--------|----------|----------|------| | 2025-01-09 14:13:26 | 234 楼 | @C0dEr | [C0dEr]( member/C0dEr) | [参与一下]( https://v2ex.com/t/1103737#r_15775882) | <img src="https://cdn.v2ex.com/avatar/65f9/a4fe/160006_xxlarge.png?m=1715389329" width="48px" height="48px"> | | 2025-01-13 14:32:18 | 354 楼 | @HaoBaiCai | [HaoBaiCai]( member/HaoBaiCai) | [参加一下]( https://v2ex.com/t/1103737#r_15789345) | <img src="https://cdn.v2ex.com/avatar/a8bb/5fe6/589184_xxxlarge.png?m=1721140523" width="48px" height="48px"> | 已支持把体彩排列5作为随机数种子 ,感谢 @loading 的建议。
目前体彩排列5开奖后,人人都可以按照 T 楼规则验证自己是否中奖了。
具体代码请查阅:v2ex-lottery
> python .\v2ex_lottery.py 使用的 Token: 9--------------4 使用的代理: socks5h://127.0.0.1:1080 请输入主题 URL: t/1103737 主题: T 楼 1.99 元 30 张英国 giffgaff, TG 群抽奖同步送 30 张,总计 60 张,为 giffgaff 中国的普及做贡献 楼层总数: 357 请输入抽奖楼层数 (默认 357): 请输入中奖人数 (默认 1): 3 是否使用最近一期的排列五(每天 21:25 开奖)开奖结果作为随机数种子?(Yes/No/指定日期,如 20250101): 20250101 2025-01-01 21:25:00 的开奖结果为:12336 api/v2/topics/1103737/replies?p=5 api/v2/topics/1103737/replies?p=12 api/v2/topics/1103737/replies?p=13 抽奖结果(2025-01-21 06:30:46): 2025-01-09 09:57:40 第 095 楼: @buxushow 2025-01-09 14:11:01 第 232 楼: @yl14786922106 2025-01-09 14:45:40 第 243 楼: @megamilk 如何验证抽奖结果(需要有python环境): 1 访问 https://github.com/360card/v2ex-lottery 下载 v2ex-lottery 2 执行命令:python v2ex-lottery.py init 初始化配置 3 执行命令:python v2ex-lottery.py 输入相同参数,重复执行抽奖程序 1 WuDiHaiTai 331 天前 nb |
2 bfhyqy OP @WuDiHaiTai 见笑了 |
3 loading 331 天前 我之前一个送键盘 PCB 的活动是群文件等级自己序号,然后规则是某日特斯拉收市价格(含小数点后面几位),然后参与人数取余数+1 ,这样能公平公开公正。 什么代码的,我都觉得有造假嫌疑(因为我能) |
4 bfhyqy OP @loading 你的建议也不错,我觉得执行的时候可以加个某日收盘价之类/双色球结果的种子。 只是如果要消除造假嫌疑,这个要么规则足够简单人人都懂,要么过程足够透明,全称监控。这两者都是挑战。 比如,就比如双色球,仍然有很多人质疑。 |
6 iSkylar 330 天前 这个好 |
7 HaoBaiCai 330 天前 我丢,我还以为我中了,哈哈哈 |
11 LHRUN 329 天前 收藏了,后面说不定要用到 |
12 PhoenixBest 308 天前 1 |