首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python+Java简单分析这6年的双色球

第一时间关注程序猿(媛)身边的故事

作者

Staker

一个喜欢写代码的肥宅

如需转载,请联系授权。

双色球是我国很有名的一款彩票,而在这篇文章中我们将对最近6年(2013年~2018年18089期)双色球中奖号码进行爬取和简单分析。

那么这篇文章中将会分两部分介绍分析这其中的过程。

Python爬虫

Java的简单分析

Python爬虫

我们要爬取的这个网站,网址格式如下:

http://kaijiang.500.com/shtml/ssq/期号.shtml

我们可以改变期号来获取任何一期双色球的开奖号码。

我们主要看一下网站结构发现:

红球class为ball_red

蓝球class为ball_blue。

了解完这些,我们就准备开始用爬虫爬取双色球中奖号码了(在这篇文章中,我以爬取双色球18001~18089期开奖号码为例)。

代码如下(带注释):

接下来我们可以从txt文件中看到我们爬取的中奖内容。

Java简单分析

接下来,我们要将获取到的数据进行分析,我们希望能获取到不同数字在不同位置的出现概率。

大致的思路如下:

1. 从保存中奖号码的txt文件中读取数据。

2. 截取字符(如:截取前两个字符——第一个球)。

3.判断是否为某个数字(如:01)。

4.计算数字出现的总次数。

import java.io.BufferedReader;

import java.io.FileReader;

public class Main {

public static void main(String[] args) throws Exception {

String str;

int times=0;

//记录出现次数

FileReader fr=new FileReader("C:\\Users\\Frank\\Desktop\\ssq\\red\\红球汇总.txt");

BufferedReader br=new BufferedReader(fr);

while ((str=br.readLine())!=null) {

//循环读取每一行

String str2=str.substring(0,2);

//截取字符串的前两个字符(即开奖号码的第一个球)

if(str2.equals("01")){

//判断是否为01(也可为其它)

times=times+1;

//出现次数+1

}

}

System.out.println(times);

//打印总出现次数

}

}

通过以上代码我们能分析出红球/蓝球所有数字的出现情况。

汇总

以下是蓝红球在最近五年中的出现次数汇总(颜色越深,出现次数越多):

红球

蓝球

其实,通过汇总,我们可以看出数字出现几率基本上都是很接近的,所以买双色球这类彩票靠的还是运气。最后希望大家都能脚踏实地,实现自己的理想。

- The End -

「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost

小七 丨 duoshangshuang

上期精彩内容

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180807A0PTXO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券