引入需要的库
import requests
import numpy as np
import pandas as pd
获取历史双色球的网页
url='https://datachart.500.com/ssq/history/newinc/history.php?start=03001'
参考https://www.jianshu.com/p/79979e7982fa?utm_campaign=hugo获取历史数据
#获取历史所有双色球数据
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:]
all_numbers=[]
for i in result:
each_numbers=[]
i=i.replace('<!--<td>2</td>-->','')
each=i.split('</td>')[:-1]
for j in each:
each_numbers.append(j.split('>')[1].replace(' ',''))
all_numbers.append(each_numbers)
#定义列名称
col=['期号','红球1','红球2','红球3','红球4','红球5','红球6','蓝球','快乐星期天','奖池奖金(元)',
'一等奖注数','一等奖奖金(元)','二等奖注数','二等奖奖金(元)','总投注额(元)','开奖日期']
#解析完网页数据,生成双色球数据框
df_all=pd.DataFrame(all_numbers,columns=col)
df_all.head()
期号 | 红球1 | 红球2 | 红球3 | 红球4 | 红球5 | 红球6 | 蓝球 | 快乐星期天 | 奖池奖金(元) | 一等奖注数 | 一等奖奖金(元) | 二等奖注数 | 二等奖奖金(元) | 总投注额(元) | 开奖日期 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 20034 | 02 | 08 | 15 | 16 | 26 | 32 | 03 | 878,740,204 | 11 | 6,780,706 | 182 | 134,531 | 340,793,680 | 2020-05-07 | |
1 | 20033 | 07 | 10 | 12 | 21 | 31 | 32 | 01 | 879,873,846 | 4 | 10,000,000 | 97 | 263,480 | 320,555,362 | 2020-05-05 | |
2 | 20032 | 03 | 11 | 13 | 14 | 15 | 26 | 13 | 843,200,936 | 11 | 6,588,951 | 135 | 161,837 | 338,904,002 | 2020-05-03 | |
3 | 20031 | 02 | 05 | 09 | 15 | 16 | 27 | 09 | 850,135,149 | 14 | 5,603,722 | 310 | 34,081 | 323,903,392 | 2020-04-30 | |
4 | 20030 | 17 | 18 | 21 | 29 | 30 | 32 | 03 | 896,891,829 | 1 | 10,000,000 | 74 | 322,591 | 327,786,632 | 2020-04-28 |
df_all
期号 | 红球1 | 红球2 | 红球3 | 红球4 | 红球5 | 红球6 | 蓝球 | 快乐星期天 | 奖池奖金(元) | 一等奖注数 | 一等奖奖金(元) | 二等奖注数 | 二等奖奖金(元) | 总投注额(元) | 开奖日期 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 20034 | 02 | 08 | 15 | 16 | 26 | 32 | 03 | 878,740,204 | 11 | 6,780,706 | 182 | 134,531 | 340,793,680 | 2020-05-07 | |
1 | 20033 | 07 | 10 | 12 | 21 | 31 | 32 | 01 | 879,873,846 | 4 | 10,000,000 | 97 | 263,480 | 320,555,362 | 2020-05-05 | |
2 | 20032 | 03 | 11 | 13 | 14 | 15 | 26 | 13 | 843,200,936 | 11 | 6,588,951 | 135 | 161,837 | 338,904,002 | 2020-05-03 | |
3 | 20031 | 02 | 05 | 09 | 15 | 16 | 27 | 09 | 850,135,149 | 14 | 5,603,722 | 310 | 34,081 | 323,903,392 | 2020-04-30 | |
4 | 20030 | 17 | 18 | 21 | 29 | 30 | 32 | 03 | 896,891,829 | 1 | 10,000,000 | 74 | 322,591 | 327,786,632 | 2020-04- |