python写彩票抓取_python爬虫彩票案例,并自动发微信

importrequestsfrom bs4 importBeautifulSoupimportitchatimporttime,datetime

all= [{1, 2, 3, 7, 8},

{1, 2, 3, 7, 9},

{1, 2, 3, 7, 10},

{1, 2, 3, 8, 9},

{1, 2, 3, 8, 10},

{1, 2, 3, 9, 10},

{1, 2, 4, 7, 8},

{1, 2, 4, 7, 9},

{1, 2, 4, 7, 10},

{1, 2, 4, 8, 9},

{1, 2, 4, 8, 10},

{1, 2, 4, 9, 10},

{1, 2, 5, 7, 8},

{1, 2, 5, 7, 9},

{1, 2, 5, 7, 10},

{1, 2, 5, 8, 9},

{1, 2, 5, 8, 10},

{1, 2, 5, 9, 10},

{1, 2, 6, 7, 8},

{1, 2, 6, 7, 9},

{1, 2, 6, 7, 10},

{1, 2, 6, 8, 9},

{1, 2, 6, 8, 10},

{1, 2, 6, 9, 10},

{1, 2, 7, 8, 9},

{1, 2, 7, 8, 10},

{1, 2, 7, 8, 11},

{1, 2, 7, 9, 10},

{1, 2, 7, 9, 11},

{1, 2, 7, 10, 11},

{1, 2, 8, 9, 10},

{1, 2, 8, 9, 11},

{1, 2, 8, 10, 11},

{1, 2, 9, 10, 11},

{1, 3, 4, 7, 8},

{1, 3, 4, 7, 9},

{1, 3, 4, 7, 10},

{1, 3, 4, 8, 9},

{1, 3, 4, 8, 10},

{1, 3, 4, 9, 10},

{1, 3, 5, 7, 8},

{1, 3, 5, 7, 9},

{1, 3, 5, 7, 10},

{1, 3, 5, 8, 9},

{1, 3, 5, 8, 10},

{1, 3, 5, 9, 10},

{1, 3, 6, 7, 8},

{1, 3, 6, 7, 9},

{1, 3, 6, 7, 10},

{1, 3, 6, 8, 9},

{1, 3, 6, 8, 10},

{1, 3, 6, 9, 10},

{1, 3, 7, 8, 9},

{1, 3, 7, 8, 10},

{1, 3, 7, 8, 11},

{1, 3, 7, 9, 10},

{1, 3, 7, 9, 11},

{1, 3, 7, 10, 11},

{1, 3, 8, 9, 10},

{1, 3, 8, 9, 11},

{1, 3, 8, 10, 11},

{1, 3, 9, 10, 11},

{1, 4, 5, 7, 8},

{1, 4, 5, 7, 9},

{1, 4, 5, 7, 10},

{1, 4, 5, 8, 9},

{1, 4, 5, 8, 10},

{1, 4, 5, 9, 10},

{1, 4, 6, 7, 8},

{1, 4, 6, 7, 9},

{1, 4, 6, 7, 10},

{1, 4, 6, 8, 9},

{1, 4, 6, 8, 10},

{1, 4, 6, 9, 10},

{1, 4, 7, 8, 9},

{1, 4, 7, 8, 10},

{1, 4, 7, 8, 11},

{1, 4, 7, 9, 10},

{1, 4, 7, 9, 11},

{1, 4, 7, 10, 11},

{1, 4, 8, 9, 10},

{1, 4, 8, 9, 11},

{1, 4, 8, 10, 11},

{1, 4, 9, 10, 11},

{1, 5, 6, 7, 8},

{1, 5, 6, 7, 9},

{1, 5, 6, 7, 10},

{1, 5, 6, 8, 9},

{1, 5, 6, 8, 10},

{1, 5, 6, 9, 10},

{1, 5, 7, 8, 9},

{1, 5, 7, 8, 10},

{1, 5, 7, 8, 11},

{1, 5, 7, 9, 10},

{1, 5, 7, 9, 11},

{1, 5, 7, 10, 11},

{1, 5, 8, 9, 10},

{1, 5, 8, 9, 11},

{1, 5, 8, 10, 11},

{1, 5, 9, 10, 11},

{2, 3, 4, 7, 8},

{2, 3, 4, 7, 9},

{2, 3, 4, 7, 10},

{2, 3, 4, 8, 9},

{2, 3, 4, 8, 10},

{2, 3, 4, 9, 10},

{2, 3, 5, 7, 8},

{2, 3, 5, 7, 9},

{2, 3, 5, 7, 10},

{2, 3, 5, 8, 9},

{2, 3, 5, 8, 10},

{2, 3, 5, 9, 10},

{2, 3, 6, 7, 8},

{2, 3, 6, 7, 9},

{2, 3, 6, 7, 10},

{2, 3, 6, 8, 9},

{2, 3, 6, 8, 10},

{2, 3, 6, 9, 10},

{2, 3, 7, 8, 9},

{2, 3, 7, 8, 10},

{2, 3, 7, 8, 11},

{2, 3, 7, 9, 10},

{2, 3, 7, 9, 11},

{2, 3, 7, 10, 11},

{2, 3, 8, 9, 10},

{2, 3, 8, 9, 11},

{2, 3, 8, 10, 11},

{2, 3, 9, 10, 11},

{2, 4, 5, 7, 8},

{2, 4, 5, 7, 9},

{2, 4, 5, 7, 10},

{2, 4, 5, 8, 9},

{2, 4, 5, 8, 10},

{2, 4, 5, 9, 10},

{2, 4, 6, 7, 8},

{2, 4, 6, 7, 9},

{2, 4, 6, 7, 10},

{2, 4, 6, 8, 9},

{2, 4, 6, 8, 10},

{2, 4, 6, 9, 10},

{2, 4, 7, 8, 9},

{2, 4, 7, 8, 10},

{2, 4, 7, 8, 11},

{2, 4, 7, 9, 10},

{2, 4, 7, 9, 11},

{2, 4, 7, 10, 11},

{2, 4, 8, 9, 10},

{2, 4, 8, 9, 11},

{2, 4, 8, 10, 11},

{2, 4, 9, 10, 11},

{2, 5, 6, 7, 8},

{2, 5, 6, 7, 9},

{2, 5, 6, 7, 10},

{2, 5, 6, 8, 9},

{2, 5, 6, 8, 10},

{2, 5, 6, 9, 10},

{2, 5, 7, 8, 9},

{2, 5, 7, 8, 10},

{2, 5, 7, 8, 11},

{2, 5, 7, 9, 10},

{2, 5, 7, 9, 11},

{2, 5, 7, 10, 11},

{2, 5, 8, 9, 10},

{2, 5, 8, 9, 11},

{2, 5, 8, 10, 11},

{2, 5, 9, 10, 11},

{3, 4, 5, 7, 8},

{3, 4, 5, 7, 9},

{3, 4, 5, 7, 10},

{3, 4, 5, 8, 9},

{3, 4, 5, 8, 10},

{3, 4, 5, 9, 10},

{3, 4, 6, 7, 8},

{3, 4, 6, 7, 9},

{3, 4, 6, 7, 10},

{3, 4, 6, 8, 9},

{3, 4, 6, 8, 10},

{3, 4, 6, 9, 10},

{3, 4, 7, 8, 9},

{3, 4, 7, 8, 10},

{3, 4, 7, 8, 11},

{3, 4, 7, 9, 10},

{3, 4, 7, 9, 11},

{3, 4, 7, 10, 11},

{3, 4, 8, 9, 10},

{3, 4, 8, 9, 11},

{3, 4, 8, 10, 11},

{3, 4, 9, 10, 11},

{3, 5, 6, 7, 8},

{3, 5, 6, 7, 9},

{3, 5, 6, 7, 10},

{3, 5, 6, 8, 9},

{3, 5, 6, 8, 10},

{3, 5, 6, 9, 10},

{3, 5, 7, 8, 9},

{3, 5, 7, 8, 10},

{3, 5, 7, 8, 11},

{3, 5, 7, 9, 10},

{3, 5, 7, 9, 11},

{3, 5, 7, 10, 11},

{3, 5, 8, 9, 10},

{3, 5, 8, 9, 11},

{3, 5, 8, 10, 11},

{3, 5, 9, 10, 11},

{4, 5, 6, 7, 8},

{4, 5, 6, 7, 9},

{4, 5, 6, 7, 10},

{4, 5, 6, 8, 9},

{4, 5, 6, 8, 10},

{4, 5, 6, 9, 10},

{4, 5, 7, 8, 9},

{4, 5, 7, 8, 10},

{4, 5, 7, 8, 11},

{4, 5, 7, 9, 10},

{4, 5, 7, 9, 11},

{4, 5, 7, 10, 11},

{4, 5, 8, 9, 10},

{4, 5, 8, 9, 11},

{4, 5, 8, 10, 11},

{4, 5, 9, 10, 11},]

ret_list=['http://chart.icaile.com/gd11x5.php','http://chart.icaile.com/','http://chart.icaile.com/jx11x5.php','http://chart.icaile.com/sh11x5.php','http://chart.icaile.com/js11x5.php','http://chart.icaile.com/yn11x5.php','http://chart.icaile.com/jl11x5.php','http://chart.icaile.com/nmg11x5.php','http://chart.icaile.com/ah11x5.php',

]whileTrue:print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))#和值大小

for i in ret_list: #循环9个省份

ret = requests.get(i) #爬数据

ret1 = ret.text #输出内容

soup = BeautifulSoup(ret1,'html.parser') #beautifulsoup解析

title = soup.title #获取title

periods = soup.find_all("td","chart-bg-qh") #找到所有期数

result = [] #去除所有和值

for period inperiods:

period_text= int(period.get_text()) #每期期数

sum = int(period.find_next_siblings("td")[21].get_text()) #找到和值

last = sum % 10 #尾数

result.append(last) #将尾数加入空列表

result.reverse() #反转list,让最新的盘在前面

period_last =int(period.get_text())

result_big=[]

result_sml=[]#判断大

for i inresult:if i > 4:

result_big.append(i)else:breaklen_big= len(result_big) #查看大的有几期

print("%s %s ---大 -------%s期" %(title.get_text(), period_last,len_big))if len_big > 8: #满足条件是发微信

print("\033[1;30;41m%s %s ---大 -------%s期\033[0m" %(title.get_text(), period_last, len_big))try:

itchat.auto_login(hotReload=True) #微信登录

users = itchat.search_friends(name='Mo') #选择用户

userName = users[0]['UserName'] #用于发消息+

itchat.send(title.get_text()+ '----大'+ '-------'+str(len_big)+'期' + '----'+ datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') , toUserName=userName)

time.sleep(1)exceptException as e:print("微信发消息异常")continue

#判断小

for i inresult:if i < 5:

result_sml.append(i)else:breaklen_sml= len(result_sml) #查看小的有几期

print("%s %s ---小 -------%s期" %(title.get_text(), period_last, len_sml))if len_sml > 8: #满足条件是发微信

print("\033[1;30;41m%s %s ---小 -------%s期\033[0m" %(title.get_text(), period_last, len_sml))try:

itchat.auto_login(hotReload=True) #微信登录

users = itchat.search_friends(name='Mo') #选择用户

userName = users[0]['UserName'] #用于发消息+

itchat.send(title.get_text()+ '----小'+ '--------'+str(len_sml) +'期'+ '----'+ datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') , toUserName=userName)

time.sleep(1)exceptException as e:print("微信发消息异常")continue

print('-------------------------------------------------------------')#23

for i in ret_list: #循环9个省份

ret = requests.get(i) #爬数据

ret1 = ret.text #输出内容

soup = BeautifulSoup(ret1,'html.parser') #beautifulsoup解析

title = soup.title #获取title

periods = soup.find_all("td","chart-bg-qh") #找到所有期数

period = periods[-1].get_text() #找到最后一期

four_all = soup.find_all("td","chart-bg-hmfb dqhm") #找到出奖号码中的4位

one_all = soup.find_all("td","chart-bg-kjhmo") #找到出奖号码中的1位

four_list = [] #所有的4位,加入一个列表

one_list = [] #所有的1位,加入一个列表

for i infour_all:

four=int(i.get_text())

four_list.append(four)for i inone_all:

one=int(i.get_text())

one_list.append(one)

four_list_split= [four_list[i:i+4] for i in range(0,len(four_list),4)] #[[1, 3, 7, 9], [2, 6, 9, 11], [2, 4, 5, 8]]

one_list_split = [one_list[i:i + 1] for i in range(0, len(one_list),1)] #[[2], [4], [6], [8], [3]]

five_list = [] #生成开奖号码用

five_list_set = [] #转化为集合方式

five_23_ok =[]for i,j in zip(four_list_split,one_list_split): #开奖的五位数 [[1, 5, 6, 9, 7], [3, 4, 5, 9, 7], [2, 8, 9, 11, 4]]

five = i +j

five_list.append(five)

five_list.reverse()#将最新的排在前面

for i infive_list :

five_set=set(i)

five_list_set.append(five_set)#print(five_list_set) #开奖的五位数 [{8, 9, 11, 4, 5}, {11, 8, 3, 5, 7}, {11, 9, 10, 3, 7}]

for i infive_list_set:if i not inall:

five_23_ok.append(i)else:breaklen23=len(five_23_ok)print("%s %s ---23 -------%s期" %(title.get_text(),period ,len23))if len23 > 6: #满足6期才发信息

try:

itchat.auto_login(hotReload=True) #微信登录

users = itchat.search_friends(name='Mo') #选择用户

userName = users[0]['UserName'] #用于发消息+

itchat.send(title.get_text() + period +'----23'+'-------'+ str(len23)+'期' + '----' + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),

toUserName=userName)

time.sleep(1)exceptException as e:print("微信发消息异常")continue

print('--------------------------------------------------------------')

itchat.logout()

time.sleep(60)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值