【Python实战】神仙运气—快看看你的彩票:2千多万元大奖无人领,马上就过期了,下一期的中奖者会是你吗?(纯技术交流)

news2024/12/23 20:33:03

前言

越努力越幸运

哈喽~我是栗子同学!

特别注意:不管是沉迷赌球,还是沉迷购彩,都是不可取的。本文纯是一个技术学习内容。

听说关注我的人会暴富哦!、

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

一笔2454多万元的彩票奖金,悬置到过期都无人认领。这是发生在2019年的事,不知道大家

还有没有印象。《2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 》。

在2019年5月2日开奖的双色 球中,广东中山一位彩民博中2454万元,兑奖时间截至2019年7月1

日。 令人遗憾的是,中奖者最终未现身领奖,2454万元大奖成为弃奖。经中山市福彩中心

查证,这是中国福彩史上金额第二大的 弃奖。

根据《彩票管理条例实施细则》的有关规定,这次的2454万元弃奖奖金将被纳入彩票公益金。 

一直在为福彩做贡献的我,啥时候能摊上这样的好事啊。

于是我用Python生成了一组双色球的号码……

正文

一、准备环境

1)运行环境 

操作系统:Windows Python版本:3.7 、Pycharm社区版。

  requests 模块; lxml、 beautifulsoup4 模块。因为都是第三方模块,如环境中没有 

可以使用 pip 进行安装。

pip install +模块名 或镜像源安装:
 
pip install -i https://pypi.douban.com/simple/+模块名

2)需求分析

随机生成一组双色球的号码,我们可以借助random函数,

如下: 

import random
def ball():
ball_list=[] while 1:
a=random.randint(1,33)
if a not in ball_list:
ball_list.append(a)
if len(ball_list)==6:
break
ball_list.sort()
ball_list.append(random.randint(1,16))
print(ball_list)
ball()

但要知道,这么搞的话,丝毫不会有什么中奖的,因为太随机了…… 

经历过高考的人,肯定都知道三年模拟五年高考。要知道彩票中奖概率很低的,所以我们在这

里先分析下历年的数据,借助往 年的数据来“精准”地推算下一期中奖号码。 

3)目标网址

我们通过这个网站来查询彩票的历史开奖信息: 

http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html

4)思路分析

我们点击下一页,看看网址链接是否有规律 :

http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html 
http://kaijiang.zhcw.com/zhcw/html/ssq/list_2.html 
http://kaijiang.zhcw.com/zhcw/html/ssq/list_3.html 
http://kaijiang.zhcw.com/zhcw/html/ssq/list_4.html 
http://kaijiang.zhcw.com/zhcw/html/ssq/list_5.html

不难发现,可以将目标网址拆分如下:

​url_part = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list'
url = url_part + '_' + str(i) + '.html' 

而 i 对应的正好是页码信息,我们借助:

记录下这里的元素信息。 接下来,我们需要抓取每一页中的具体开奖信息。我们继续通过开发者工具分析出每期开奖信息。 我们依次记录下每期的开奖日期对应的元素信息: 

开奖的批次对应的元素信息:

中奖号码对应的元素信息:

有了这些元素信息之后,接下来就是代码的具体实现。

二、代码实现

1)主程序

模块安装好之后,进行导入
import requests
from bs4 import BeautifulSoup
我们需要先在首页中,拿到页数信息
# 发起请求
basic_url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
}
response = requests.get(basic_url, headers=headers, timeout=10)
response.encoding = 'utf-8'
htm = response.text
# 解析内容
soup = BeautifulSoup(htm, 'html.parser')
# 获取页数信息
page = int(soup.find('p', attrs={"class": "pg"}).find_all('strong')[0].text)
接下来,我们就可以根据规律组装好我们的URL:
url_part = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list'
for i in range(1, page+1):
url = url_part + '_' + str(i) + '.html'
拿组装后的url发起请求,并获取每页中各期的开奖信息:
res = requests.get(url, headers=headers, timeout=10)
res.encoding = 'utf-8'
context = res.text
soups = BeautifulSoup(context, 'html.parser')
if soups.table is None:
continue
elif soups.table:
table_rows = soups.table.find_all('tr')
for row_num in range(2, len(table_rows)-1):
row_tds = table_rows[row_num].find_all('td')
ems = row_tds[2].find_all('em')
result = row_tds[0].string +', '+ row_tds[1].string +', '+ems[0].string+' '+ems[1].string+' '+ems[2].string+' '+ems[3].string+'
'+ems[4].string+' '+ems[5].string+', '+ems[6].string
print(result)
这样,我们就完成了对每一页中各期开奖数据的获取。获取的数据可以保存在本地。
def save_to_file(content):
with open('ssq.txt', 'a', encoding='utf-8') as f:
f.write(content + '\n')
我们在获取每期的开奖数据的同时,记录下红蓝球出现的号码信息。
# 定义两个变量, 用于记录历史开奖信息中的红球、蓝球号码信息
# 定义两个变量, 用于记录历史开奖信息中的红球、蓝球号码信息
red_num = [] blue_num = []
red_num.append(ems[0].string) # 红色球1
red_num.append(ems[1].string) # 红色球2
red_num.append(ems[2].string) # 红色球3
red_num.append(ems[3].string) # 红色球4
red_num.append(ems[4].string) # 红色球5
red_num.append(ems[5].string) # 红色球6
blue_num.append(ems[6].string) # 蓝色球
统计出各个号码出现次数信息:
red_count = Counter(red_num)
blue_count = Counter(blue_num)
接下来我们可以根据红蓝号码出现的频率进行排序,并推测出几组双色球号码信息:
# 按照出现频率顺序
red_sorted = sorted(red_count.items(), key=lambda x: x[1], reverse=False)
blue_sorted = sorted(blue_count.items(), key=lambda x: x[1], reverse=False)
red = red_sorted[0:6] blue = blue_sorted[0:3]
red = list(map(lambda x:x[0], red))
blue = list(map(lambda x:x[0], blue))
red.sort()
blue.sort()
print('号码高频-1注:'+str(red)+' | '+blue[0])
print('号码高频-2注:'+str(red)+' | '+blue[1])
print('号码高频-3注:'+str(red)+' | '+blue[2])

当然了,也可以输出反序输出,中奖号码出现频率较低的几组,只需要设置 reverse=True 即可。

三、附带直方图

这里根据蓝色球各号码出现的次数,作了张直方图,可以很直观到蓝色球各号码出现的频率。

总结

有人会问了,这样预测出的中奖号码,中奖概率究竟有多大呢? 

这个,我可说不清楚,只有买了才会知道……小心错过一个亿哟~

讲个笑话——昨天晚上走夜路天上掉了1万美金,是你出门掉的嘛?!

特别注意:不管是沉迷赌球,还是沉迷购彩,都是不可取的。本文仅是一个技术学习内容,无

任何诱导大家购买双色球的行为。学习爬虫学习技术学习编程,好的工作技能才是改善自身强

大的本事。再说一篇文章是不可能就买的中彩票的哈。世界人口这么大,几十亿分之一。还是

好好的上班吧!不然小编早就是亿万富翁啦。23333

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

 🔨推荐往期文章——

1.0    Python爬虫入门推荐案例:学会爬虫_表情包手到擒来~

1.1 【Tkinter界面化小程序】用Python做一款免费音乐下载器、无广告无弹窗、清爽超流畅哦

1.2  【Python爬虫实战】 不生产小说,只做网站的搬运工,太牛逼了~(附源码)

1.3 【Python抢票神器】火车票枪票软件到底靠谱吗?实测—终极攻略。

1.4 【Python实战】WIFI密码小工具,甩万能钥匙十条街,WIFI任意连哦~(附源码)

1.5  【Python实战】再分享一款商品秒杀小工具,我已经把压箱底的宝贝拿出来啦~

1.6  【Python实战】年底找工作,年后不用愁,多个工作岗位随你挑哦~

1.7  【Python实战】听书就用它了:海量资源随便听,内含几w书源,绝对精品哦~

1.8  【Python实战】海量表情包炫酷来袭,快来pick斗图新姿势吧~(超好玩儿)

🎁文章汇总——

Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/342437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据仓库原理 - 概念、架构、建模方法

目录1、介绍1.1 数据仓库诞生原因1.2 数据仓库概述1.3 数仓的技术实现1.4 MPP&分布式架构MPP架构分布式架构MPP分布式架构1.5 常见产品2、架构2.1 架构图ETLODSCDMADS2.2 ETL流程数据抽取数据转换数据加载ETL工具2.3 数据积存操作数据层ODS2.4 数据分析数据明细层DWD数据汇…

【scipy.sparse包】Python稀疏矩阵详解

【scipy.sparse包】Python稀疏矩阵 文章目录【scipy.sparse包】Python稀疏矩阵1. 前言2. 导入包3. 稀疏矩阵总览4. 稀疏矩阵详细介绍4.1 coo_matrix4.2 dok_matrix4.3 lil_matrix4.4 dia_matrix4.5 csc_matrix & csr_matrix4.6 bsr_matrix5. 稀疏矩阵的存取5.1 用save_npz保…

MATLAB 遗传算法

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

CSS布局之详解

在开发前端的时候,界面布局尤为重要,要布局的非常合理,好看,css是必不可少的,然后是各种布局,使用这些布局,进行混合搭配,最终的目的都是开发一个完整的界面。前端的技术变化是五花八…

mybatis-plus ---1

mybatis-plus 在mybatis的基础上只做加强&#xff0c;不做删减。 一个简单的mybatis-plus案例 结构图 创建一个springboot工程 添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0…

Linux(Linux各目录结构详解)

我们知道Linux系统是一个文件系统&#xff0c;它的文件系统就类似windows系统下的磁盘文件系统。 我们连接上一台linux系统的服务器。 输入命令 &#xff1a; ls / 我们可以看到 linux系统的根目录下有这些目录 bin boot data dev etc hbr home lib lib64 lostfoun…

【前端】参考C站动态发红包界面,高度还原布局和交互

最近有些小伙伴咨询博主说前端布局好难&#xff0c;其实都是熟能生巧&#xff01; 模仿C站动态发红包界面&#xff0c;cssdiv实现布局&#xff0c;纯javascript实现交互效果 目录 1、界面效果 2、界面分析 2.1、整体结构 2.2、标题 2.3、表单 2.4、按钮 3、代码实现 3.…

【目标检测】如何使用Yolov8

如何使用Yolov8一、前言二、用法2.1 安装2.2 使用方法2.3 模型2.3.1 目标检测2.3.2 实例分割2.3.3 分类一、前言 一种易于使用的新的对象检测模型。 由 Ultralytics 开发的 Ultralytics YOLOv8 是一种尖端的、最先进的 (SOTA) 模型&#xff1a; https://github.com/ultralyt…

前端调试2

一、用chrome调试(node.js)例&#xff1a;const fs require(fs/promises);(async function() {const fileContent await fs.readFile(./package.json, {encoding: utf-8});await fs.writeFile(./package2.json, fileContent); })();1.先 node index.js 跑一下&#xff1a;2.然…

并发包工具之 批量处理任务 CompletionService(异步)、CompletableFuture(回调)

文章目录一、处理异步任务并获取返回值——CompletionService二、线程池三、Callable 与 Future四、通过回调方式处理可组合编排任务——CompletableFuture一、处理异步任务并获取返回值——CompletionService 特点描述&#xff1a; 对于比较复杂的计算&#xff0c;把…

dfs(九)字符串的全排列

字符串的排列_牛客题霸_牛客网【牛客题霸】收集各企业高频校招笔面试题目&#xff0c;配有官方题解&#xff0c;在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://www.nowcoder.com/practice/fe6b651b66ae47d7ac…

Windows 安装Tomcat

版本:tomcat8.5jdk-8u231一.解压JDK安装包 更换JDK安装路径二.解压安装Tomcat 选择jdk安装路径更换tomcat安装路径三.设置环境变量 1.“环境变量”界面中系统变量点击”新建“&#xff0c;创建CATALINA_HOMEC:\RESSET\tomcat&#xff08;Tomcat服务器的根目录&#xff09;2.创建…

电脑录屏win+g没反应怎么办?打开这2个开关,就能解决

有不少的小伙伴在使用电脑自带的录屏软件的时候&#xff0c;发现录屏快捷键wing没反应了。电脑录屏wing没反应怎么办&#xff1f;解决办法很简单&#xff0c;只需要打开2个开关&#xff0c;就能够快速解决&#xff0c;一起来看看吧&#xff01; 一、电脑录屏wing没反应怎么办&a…

响应式布局之viewport-超级简单

之前文章CSS布局之详解_故里2130的博客-CSDN博客 上面的文章可以实现响应式布局&#xff0c;根据浏览器的大小变化而变化&#xff0c;但是相对于viewport来说&#xff0c;之前的还是有点复杂&#xff0c;而使用viewport更加的简单。 当我们使用amfe-flexible的时候&#xff0…

记录ideal中使用springboot遇到的问题

持续记录&#xff0c;避免反复查找资料 选择Maven构建项目 创建springboot项目时&#xff0c;【Project Metadata页】的Type选项默认是Gradle&#xff0c;如果要使用Maven需要修改选项&#xff0c;如下图 mysql依赖包直接在pom.xml中添加 创建时在对话框中勾选【Mysql Driver】…

两个月,测试转岗产品经理,我是怎么规划的?

​本期同学依旧来自深圳 测试到产品转变&#xff0c;用了两个月 本周&#xff0c;为大家介绍M同学的佛系转岗经历 学员档 学员档案 原岗位&#xff1a;测试 转岗级别&#xff1a;中级产品经理 转岗特点&#xff1a; 1.未接触产品工作 2.对岗位地点要求严格 先看结果 …

浅显易懂的说清楚小游戏与H5游戏的技术区别

从“跳一跳”到“羊了个羊”微信小游戏上线4年时间&#xff0c;除了涌现出不少火爆全网的小游戏之外&#xff0c;也有类似于“动物餐厅”、“口袋奇兵”等游戏得以在此孵化繁荣&#xff0c;凭借着微信强大的社交属性小游戏成为游戏厂商在桌面端、App 端、H5 端之外争夺的另一个…

40个改变你编程技能的小技巧!

40个改变编程技能的小技巧 1、将大块代码分解成小函数 2、今日事今日毕&#xff0c;如果没毕&#xff0c;就留到明天。 如果下班之前还没有解决的问题&#xff0c;那么你需要做的&#xff0c;就是关闭电脑&#xff0c;把它留到明天。 中途不要再想着问题了&#xff01; 3、…

【LeetCode】不同的二叉搜索树 [M](卡特兰数)

96. 不同的二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 一、题目 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&a…

学会使用LoadRunner录制脚本

1.LoadRunner安装 https://blog.csdn.net/weixin_48584088/article/details/129012469 2.Loadrunner的基本概念 LoadRunner是一种适用于许多软件体系架构的自动负载测试工具&#xff0c;从用户关注的响应时间、吞吐量&#xff0c; 并发用户和性能计数器等方面来衡量系统的性…