fix: 增加数据模块

This commit is contained in:
chenwj113 2023-05-02 10:58:08 +08:00
parent 926c63fc7c
commit 5d45f7afa3
12 changed files with 90 additions and 360 deletions

1
.gitignore vendored
View File

@ -164,3 +164,4 @@ cython_debug/
#.idea/ #.idea/
>>>>>>> f8458cdff6d4b08b3ad0b33cb69a118e4b7a5c35 >>>>>>> f8458cdff6d4b08b3ad0b33cb69a118e4b7a5c35
nohup.out

128
auto.py
View File

@ -1,128 +0,0 @@
import time
from helium import *
from selenium.webdriver import ChromeOptions
chrome_options = ChromeOptions()
chrome_options.add_argument('--no-sandbox')
# chrome_options.add_argument('--headless')
# mobile_emulation = {'deviceName': 'Apple iPhone XR'}
# chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
# chrome_options.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"')
chrome_options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 16_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.29(0x18001d36) NetType/WIFI Language/zh_CN"')
start_chrome("https://youdian.jindianle.com/", options=chrome_options)
click(Text("您尚未登录,点击登录"))
click(Text("密码登录"))
write("15359827092", into="请输入手机号")
write("c113w927j", into="请输入6-12位数字或字母")
click(Button("登 录"))
# 进入页面先点击关闭弹窗按钮
_close = S('//*[@id="vue2_el"]/div/div[10]/div/p')
click(_close)
#店内账本
click(Text("店内账本"))
# moneynum = S('//*[@id="vue2_el"]/div[1]/section/div/div/div[3]/div[2]/span[1]')
moneynum = S('//span[contains(@class, "gray3") and contains(@class, "moneynum")]')
wait_until(moneynum.exists)
if moneynum is not None:
balance = moneynum.web_element.text
print(f"金额还剩:{balance}")
else:
print("元素未找到")
# 回退
back = S('#vue2_el > header > div.back > a')
click(back)
# 点击排列三
pls = S('//*[@id="vue2_el"]/div/section/div[6]/div[4]/div[3]')
click(pls)
# click(Text('组选'))
# 普通投注-> 取消组3
# group3 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxmenu.topcenter > p:nth-child(1)')
# group3 = Text("组3")
# click(group3)
ball_0 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(1) > p.ballline')
ball_1 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(2) > p.ballline')
ball_2 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(3) > p.ballline')
ball_3 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(4) > p.ballline')
ball_4 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(5) > p.ballline')
ball_5 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(6) > p.ballline')
ball_6 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(7) > p.ballline')
ball_7 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(8) > p.ballline')
ball_8 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(9) > p.ballline')
ball_9 = S('#body > section > div.betmain.betmain_p3zx > div.betmain_p3zxball > ul > li:nth-child(10) > p.ballline')
# click(ball_1)
# click(ball_2)
# click(ball_3)
# 和值投注
# click(Text("和值投注"))
sum_1 = Text("1")
sum_2 = Text("2")
sum_3 = Text("3")
sum_4 = Text("4")
sum_5 = Text("5")
sum_6 = Text("6")
sum_7 = Text("7")
sum_8 = Text("8")
sum_9 = Text("9")
sum_10 = Text("10")
sum_11 = Text("11")
sum_12 = Text("12")
sum_13 = Text("13")
sum_14 = Text("14")
sum_15 = Text("15")
sum_16 = Text("16")
sum_17 = Text("17")
sum_18 = Text("18")
sum_19 = Text("19")
sum_20 = Text("20")
sum_21 = Text("21")
sum_22 = Text("22")
sum_23 = Text("23")
sum_24 = Text("24")
sum_25 = Text("25")
sum_26 = Text("26")
# click(sum_9)
# click(Text("组3单式"))
# 对子号码
double_ball_0 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(1) > p')
double_ball_1 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(2) > p')
double_ball_2 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(3) > p')
double_ball_3 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(4) > p')
double_ball_4 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(5) > p')
double_ball_5 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(6) > p')
double_ball_6 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(7) > p')
double_ball_7 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(8) > p')
double_ball_8 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(9) > p')
double_ball_9 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(1) > div.boxflex > ul > li:nth-child(10) > p')
# 非对子号码
single_ball_0 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(1) > p')
single_ball_1 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(2) > p')
single_ball_2 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(3) > p')
single_ball_3 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(4) > p')
single_ball_4 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(5) > p')
single_ball_5 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(6) > p')
single_ball_6 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(7) > p')
single_ball_7 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(8) > p')
single_ball_8 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(9) > p')
single_ball_9 = S('#body > section > div.betmain.betmain_p3zxd > div:nth-child(2) > div.boxflex > ul > li:nth-child(10) > p')
# 点击一次下一步
next_step = Text("下一步")
# click(next_step)
# 设置倍数后,再点击一次下一步
plus = Text("+")
# click(plus)
# click(Text("下一步"))
# 最后一步, 点击确认
confirm = Text("确认")
# click(confirm)
# time.sleep(5)
kill_browser()

View File

@ -1,111 +0,0 @@
import time
import traceback
from helium import *
from selenium.webdriver import ChromeOptions
chrome_options = ChromeOptions()
mobile_emulation = {'deviceName': 'iPad Mini'}
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
#chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
#chrome_options.add_experimental_option('useAutomationExtension', False)
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"')
driver = start_chrome("https://youdian.jindianle.com/", options=chrome_options)
try:
click(Text("您尚未登录,点击登录"))
click(Text("密码登录"))
write("15359827092", into="请输入手机号")
write("c113w927j", into="请输入6-12位数字或字母")
click(Button("登 录"))
# 进入页面先点击关闭弹窗按钮
# _topclose = S('div.layerimg_topclose')
# if _topclose.exists:
# click(_topclose)
_close = S('p.close')
if _close.exists:
click(_close)
#店内账本
# click(Text("店内账本"))
# moneynum = S('//span[contains(@class, "gray3") and contains(@class, "moneynum")]')
# wait_until(moneynum.exists)
# if moneynum is not None:
# balance = moneynum.web_element.text
# print(f"金额还剩:{balance}")
# else:
# print("元素未找到")
# # 回退
# back = S('#vue2_el > header > div.back > a')
# click(back)
#选号记录
# click(Text("选号记录"))
# # 回退
# back = S('#vue2_el > header > div.back > a')
# click(back)
# 点击排列三
# pls = S('//*[@id="vue2_el"]/div/section/div[6]/div[4]/div[3]')
pls = S('p.lottname.p3')
wait_until(pls.exists)
click(pls)
# wait_until(Text('组选').exists)
click(Text('组选'))
# result = ['129', '156', '138', '237', '147']
result = ['346', '139', '247', '256', '049']
for index, item in enumerate(result):
if len(set(item)) == 3:
# 普通投注-> 取消组3
click(Text('普通投注'))
for i in item:
ball_line = S(f'//*[@id="body"]/section/div[3]/div[2]/ul/li[{int(i) + 1}]/p[1]')
if ball_line.exists:
click(ball_line)
print(ball_line.web_element.text)
else:
print(f"{i}不存在")
wait_until(Text("组3").exists)
click(Text("组3"))
else:
click(Text('组3单式'))
if item[0] == item[1]:
double_ball = S(f'//*[@id="body"]/section/div[3]/div[1]/div[2]/ul/li[{int(item[0]) + 1}]/p')
single_ball = S(f'//*[@id="body"]/section/div[3]/div[2]/div[2]/ul/li[{int(item[2]) + 1}]/p')
else:
double_ball = S(f'//*[@id="body"]/section/div[3]/div[1]/div[2]/ul/li[{int(item[2]) + 1}]/p')
single_ball = S(f'//*[@id="body"]/section/div[3]/div[2]/div[2]/ul/li[{int(item[0]) + 1}]/p')
click(double_ball)
click(single_ball)
print(f"对子号:{double_ball.web_element.text}")
print(f"非对子号:{single_ball.web_element.text}")
print(f"{index}: {item}")
wait_until(Text("下一步").exists)
click(Text("下一步"))
if index + 1 != len(result):
wait_until(Text("+继续添加").exists)
click(Text("+继续添加"))
# # 设置倍数后,再点击一次下一步
plus = Text("+")
for i in range(1):
click(plus)
save = Text("保存")
wait_until(save.exists)
click(Text("保存"))
print(save.web_element.text)
# # 设置倍数后,再点击一次下一步
# plus = Text("+")
# # click(plus)
# wait_until(Text("下一步").exists)
# click(Text("下一步"))
# # 最后一步, 点击确认
# wait_until(Text("确认").exists)
# click(Text("确认"))
print("完成。。。")
kill_browser()
except Exception as e:
print(traceback.format_exc())
kill_browser()

View File

@ -1,88 +0,0 @@
import time
import traceback
from helium import *
from selenium.webdriver import ChromeOptions
chrome_options = ChromeOptions()
mobile_emulation = {'deviceName': 'iPhone XR'}
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
#chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
#chrome_options.add_experimental_option('useAutomationExtension', False)
chrome_options.add_argument('--no-sandbox')
# chrome_options.add_argument('--headless')
chrome_options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"')
driver = start_chrome("https://youdian.jindianle.com/", options=chrome_options)
try:
click(Text("您尚未登录,点击登录"))
click(Text("密码登录"))
write("15359827092", into="请输入手机号")
write("c113w927j", into="请输入6-12位数字或字母")
click(Button("登 录"))
# 进入页面先点击关闭弹窗按钮
_close = S('//*[@id="vue2_el"]/div/div[10]/div/p')
click(_close)
#店内账本
# click(Text("店内账本"))
# moneynum = S('//span[contains(@class, "gray3") and contains(@class, "moneynum")]')
# wait_until(moneynum.exists)
# if moneynum is not None:
# balance = moneynum.web_element.text
# print(f"金额还剩:{balance}")
# else:
# print("元素未找到")
# # 回退
# back = S('#vue2_el > header > div.back > a')
# click(back)
#选号记录
# click(Text("选号记录"))
# # 回退
# back = S('#vue2_el > header > div.back > a')
# click(back)
# 点击排列三
pls = S('//*[@id="vue2_el"]/div/section/div[6]/div[4]/div[3]')
wait_until(pls.exists)
click(pls)
wait_until(Text('组选').exists)
click(Text('组选'))
click(Text('普通投注'))
# 普通投注-> 取消组3
#
result = ['168', '069', '348', '249', '078']
for index, item in enumerate(result):
for i in item:
i = int(i) + 1
ball_line = S(f'//*[@id="body"]/section/div[3]/div[2]/ul/li[{i}]/p[1]')
if ball_line.exists:
click(ball_line)
else:
print(f"{i-1}不存在")
print(f"{index}: {item}")
wait_until(Text("组3").exists)
click(Text("组3"))
wait_until(Text("下一步").exists)
click(Text("下一步"))
if index + 1 != len(result):
wait_until(Text("+继续添加").exists)
click(Text("+继续添加"))
wait_until(Text("保存").exists)
click(Text("保存"))
# # 设置倍数后,再点击一次下一步
# plus = Text("+")
# # click(plus)
# wait_until(Text("下一步").exists)
# click(Text("下一步"))
# # 最后一步, 点击确认
# wait_until(Text("确认").exists)
# click(Text("确认"))
print("完成。。。")
kill_browser()
except Exception as e:
print(traceback.format_exc())
kill_browser()

View File

@ -15,6 +15,7 @@ def _get_data(url, lottery_type):
draw_date = table_list.find("td.td_title01 span.span_right")[0].text draw_date = table_list.find("td.td_title01 span.span_right")[0].text
draw_code = table_list.find("div.ball_box01")[0].text.replace('\n', '') draw_code = table_list.find("div.ball_box01")[0].text.replace('\n', '')
print(draw_code) print(draw_code)
print(draw_date)
last_id = lottery.insert(draw_issue, draw_date, draw_code) last_id = lottery.insert(draw_issue, draw_date, draw_code)
if last_id: if last_id:
print(f"issue:{draw_issue}数据写入完成。。。") print(f"issue:{draw_issue}数据写入完成。。。")
@ -44,7 +45,7 @@ def main(basic_url, lottery_type):
continue continue
if __name__ == '__main__': if __name__ == '__main__':
issue = "23107" issue = "23108"
url = f"https://kaijiang.500.com/shtml/pls/{issue}.shtml" url = f"https://kaijiang.500.com/shtml/pls/{issue}.shtml"
get_data(url, lottery_type='pls') get_data(url, lottery_type='pls')
# for y in range(23, 24): # for y in range(23, 24):

30
get_football_data.py Normal file
View File

@ -0,0 +1,30 @@
import requests
import json
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from datetime import date, datetime
from model.football_league import FootballLeague
_engine = create_engine("mysql+pymysql://test:123456@localhost/lottery?charset=utf8")
_DbSession = sessionmaker(bind=_engine)
db = _DbSession()
url = "https://webapi.sporttery.cn/gateway/jc/football/getMatchResultV1.qry?matchPage=1&matchBeginDate=2023-04-28&matchEndDate=2023-04-28&leagueId=&pageSize=30&pageNo=1&isFix=0&pcOrWap=1"
r = requests.get(url)
data = json.loads(r.text)
league_list = data["value"]["leagueList"]
for item in league_list:
result = db.query(FootballLeague).filter_by(league_name=item["leagueAbbName"]).first()
if result is None:
league = FootballLeague()
league.league_id = item["leagueId"]
league.league_name = item["leagueAbbName"]
league.league_all_name = item["leagueAllName"]
league.created_at = datetime.now()
db.add(league)
db.commit()
print(f"id:{league.id}")

View File

@ -1,7 +1,7 @@
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
import re import re
from datetime import date from datetime import date, datetime
from model.pls import PLS from model.pls import PLS
from model.plw import PLW from model.plw import PLW
@ -29,7 +29,7 @@ class Lottery(object):
raise Exception("未知的lottery_type") raise Exception("未知的lottery_type")
def _get_db_session(self): def _get_db_session(self):
_engine = create_engine("mysql+pymysql://test:123456@localhost/lottery?charset=utf8") _engine = create_engine("mysql+pymysql://test:123456@localhost/lottery?charset=utf8", pool_pre_ping=True, pool_recycle=3600)
_DbSession = sessionmaker(bind=_engine) _DbSession = sessionmaker(bind=_engine)
return _DbSession() return _DbSession()
@ -39,6 +39,7 @@ class Lottery(object):
record = self._Model() record = self._Model()
record.draw_issue = draw_issue record.draw_issue = draw_issue
record.draw_code = draw_code record.draw_code = draw_code
record.created_at = datetime.now()
m1 = re.match(self._pat1, draw_date) m1 = re.match(self._pat1, draw_date)
m2 = re.match(self._pat2, draw_date) m2 = re.match(self._pat2, draw_date)
if m1 or m2 : if m1 or m2 :

18
model/football_league.py Normal file
View File

@ -0,0 +1,18 @@
# coding: utf-8
from sqlalchemy import Column, DateTime, Integer, text
from sqlalchemy.dialects.mysql import VARCHAR
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
metadata = Base.metadata
class FootballLeague(Base):
__tablename__ = 'football_league'
__table_args__ = {'comment': '足球联赛信息表'}
id = Column(Integer, primary_key=True)
league_id = Column(Integer, comment='联赛id')
league_name = Column(VARCHAR(255), comment='联赛名称')
league_all_name = Column(VARCHAR(255), comment='联赛全称')
created_at = Column(DateTime, server_default=text("CURRENT_TIMESTAMP"))

View File

@ -1,18 +1,20 @@
# coding: utf-8 # coding: utf-8
from sqlalchemy import Column, Date, Integer, String, DateTime from sqlalchemy import Column, Date, DateTime, Integer, text
from sqlalchemy.dialects.mysql import VARCHAR
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base() Base = declarative_base()
metadata = Base.metadata metadata = Base.metadata
class PLS(Base): class Pl(Base):
__tablename__ = 'pls' __tablename__ = 'pls'
__table_args__ = {'comment': '排列三统计表'}
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
draw_issue = Column(String(25, 'utf8mb4_general_ci')) draw_issue = Column(VARCHAR(25))
draw_date = Column(Date) draw_date = Column(Date)
draw_code = Column(String(10, 'utf8mb4_general_ci')) draw_code = Column(VARCHAR(10))
hundred = Column(Integer) hundred = Column(Integer)
ten = Column(Integer) ten = Column(Integer)
one = Column(Integer) one = Column(Integer)
@ -27,4 +29,4 @@ class PLS(Base):
sum_hundred_one = Column(Integer, comment='百位各位和') sum_hundred_one = Column(Integer, comment='百位各位和')
sum_single_double = Column(Integer, comment='总和奇偶') sum_single_double = Column(Integer, comment='总和奇偶')
sum_big_small = Column(Integer, comment='总和大小') sum_big_small = Column(Integer, comment='总和大小')
created_at = Column(DateTime) created_at = Column(DateTime, server_default=text("CURRENT_TIMESTAMP"))

View File

@ -1,23 +1,25 @@
# coding: utf-8 # coding: utf-8
from sqlalchemy import Column, Integer, String, Date from sqlalchemy import Column, Date, DateTime, Integer, text
from sqlalchemy.dialects.mysql import VARCHAR
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base() Base = declarative_base()
metadata = Base.metadata metadata = Base.metadata
class PLW(Base): class Plw(Base):
__tablename__ = 'plw' __tablename__ = 'plw'
__table_args__ = {'comment': '排列五统计表'}
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
draw_issue = Column(String(25, 'utf8mb4_general_ci')) draw_issue = Column(VARCHAR(25))
draw_date = Column(Date) draw_date = Column(Date)
draw_code = Column(String(10, 'utf8mb4_general_ci')) draw_code = Column(VARCHAR(10))
ten_thousand = Column(Integer) ten_thousand = Column(Integer, comment='')
thousand = Column(Integer) thousand = Column(Integer, comment='')
hundred = Column(Integer) hundred = Column(Integer, comment='')
ten = Column(Integer) ten = Column(Integer, comment='')
one = Column(Integer) one = Column(Integer, comment='')
code_big = Column(Integer) code_big = Column(Integer)
code_small = Column(Integer) code_small = Column(Integer)
code_single = Column(Integer) code_single = Column(Integer)
@ -28,3 +30,4 @@ class PLW(Base):
sum_hundred_one = Column(Integer, comment='百位各位和') sum_hundred_one = Column(Integer, comment='百位各位和')
sum_single_double = Column(Integer, comment='总和奇偶') sum_single_double = Column(Integer, comment='总和奇偶')
sum_big_small = Column(Integer, comment='总和大小') sum_big_small = Column(Integer, comment='总和大小')
created_at = Column(DateTime, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))

31
pls.py
View File

@ -5,11 +5,11 @@ import pandas as pd
a = np.arange(1000) a = np.arange(1000)
l = set([ "".join(sorted(f"{i:03d}")) for i in a ]) l = set([ "".join(sorted(f"{i:03d}")) for i in a ])
f1 = lambda number: True if '4' in number or '7' in number else False f1 = lambda number: True if '0' in number or '3' in number else False
f2 = lambda number: True if sum(map(int, number)) in [10,12, 13, 14, 16, 17] else False f2 = lambda number: True if sum(map(int, number)) in [10, 13, 14, 16, 17] else False
arr1 = list(filter(f1, l)) arr1 = list(filter(f1, l))
print(len(arr1)) # print(len(arr1))
print(arr1) # print(arr1)
arr2 = list(filter(f2, arr1)) arr2 = list(filter(f2, arr1))
print(len(arr2)) print(len(arr2))
@ -44,18 +44,18 @@ for i in sum_group6_dict.keys():
f1 = lambda number: len([i for i in number if int(i) %2 == 0]) != 0 f1 = lambda number: len([i for i in number if int(i) %2 == 0]) != 0
f2 = lambda number: len([i for i in number if int(i) %2 == 1]) != 0 f2 = lambda number: len([i for i in number if int(i) %2 == 1]) != 0
f3 = lambda n: True if int(n[1]) - int(n[0]) == 1 or int(n[2]) - int(n[1]) == 1 else False f3 = lambda n: True if int(n[1]) - int(n[0]) == 1 or int(n[2]) - int(n[1]) == 1 else False
f4 = lambda number: True if 'a' not in number else False f4 = lambda number: True if '3' not in number else False
f5 = lambda number: True if '5' in number or '1' in number or '9' in number else False f5 = lambda number: True if '0' in number or '3' in number else False
f6 = lambda number: True if len(set('279').difference(number)) == 2 else False f6 = lambda number: True if len(set('279').difference(number)) == 2 else False
# if i in [12, 14, 15, 16, 17]: if i in [13, 14, 15, 16, 17]:
# # result = sum_group6_dict[i] + sum_group3_dict[i] # result = sum_group6_dict[i] + sum_group3_dict[i]
# result = sum_group3_dict[i] result = sum_group3_dict[i]
# print("-"*15 + "组三" + "-"*15) print("-"*15 + "组三" + "-"*15)
# print(i, list(filter(f5, result))) print(i, list(filter(f4, result)))
# result = sum_group6_dict[i] result = sum_group6_dict[i]
# print("-"*15 + "组六" + "-"*15) print("-"*15 + "组六" + "-"*15)
# print(i, list(filter(f5, result))) print(i, list(filter(f4, result)))
# print() print()
# 连号 # 连号
@ -76,3 +76,4 @@ arr = set([ "".join(sorted(f"{i:03d}")) for i in filter(f, result_1)])
# print(len(arr)) # print(len(arr))
# print(len(result_2)) # print(len(result_2))
# print(result_2[:20]) # print(result_2[:20])
# 299669

View File

@ -259,7 +259,7 @@ class Chrome(object):
with Chrome() as chrome: with Chrome() as chrome:
# chrome.balance() # chrome.balance()
# 组选 # 组选
result = ['348', '249', '168', '267', '078', '458', '368', '269', '089', '158', '239'] result = ['059', '158', '167', '058', '067', '049', '256', '247', '148', '458', '269', '089', '278', '467', '069', '168', '249', '267', '258', '078']
chrome.pls(result = result, multiple=2) chrome.pls(result = result, multiple=2)
# 直选 # 直选
# result = ['246', '264', '291', '219', '169'] # result = ['246', '264', '291', '219', '169']