python实现双色球自动选号,附带历史中奖号对比
import requests
import random
#分析网页后可以get历史所有双色球中奖数据
url='https://datachart.500.com/ssq/history/newinc/history.php?start=03001'
#获取历史所有双色球中奖数据
response = requests.get(url)
response.encoding = 'utf-8'
re_text = response.text
#网页数据解析
re=re_text.split('<tbody id="tdata">')[1].split('</tbody>')[0]
result=re.split('<tr class="t_tr1">')[1:]
# 历史数据查询
def findHistory():
for i in result:
i=i.replace('<!--<td>2</td>-->','')
row=i.split('</td>')
history_balls = []
for num in range(1,8):
if(num < 8):
history_balls.append(row[num].split('>')[1].replace(' ',''))
else:
history_balls.append(row[num].split('>')[1].replace(' ',''))
if(history_balls == new_balls):
message = input("\n此搭配存在中奖记录,可选择当前号码下注,或输入y重新生成一组:")
print(message)
if(message == 'y'):
makeSSQ()
break
new_balls = []
# 随机选号函数
def makeSSQ():
new_balls = []
# 生成红球号码
while len(new_balls) < 6:
num = "{:02d}".format(random.randint(1, 33))
if num not in new_balls:
new_balls.append(num)
# 生成蓝球号码
blue_ball = random.randint(1, 16)
new_balls.append("{:02d}".format(blue_ball))
# 输出结果
print("生成序列:", end="")
for num,val in enumerate(new_balls):
if(num < 6):
print("\033[0;31m" + val + "\033[0m", end=" ")
else:
print("\033[0;34m" + val + "\033[0m")
# 校验是否存在中奖历史
findHistory()
makeSSQ()
这只是一个简单的生成器,它不能保证生成的号码一定是中奖号码,纯属娱乐,不可轻信,理性消费!!!