项目简介
走地之王 是一个集足球数据采集器,简单分析.
程序采用JAVA+大数据+AI开发,项目模块化结构清晰完整,非常容易入手并进行二次开发分析.
走地之王为程序全自动处理,全程无人为参与干预足球分析预测程序.
⚡️ 避免了人为分析的主观性及不稳定因素.
✨ 程序根据各大指数多维度数据,结合作者多年足球分析经验,精雕细琢,
集天地之灵气,汲日月之精华,历时七七四十九天,经Bug九九八十一个,编码而成.
程序执行流程包括且不仅限于(数据自动获取–>分析学习–>自动推送发布).
☕ 经近十四个月的实验准确率一直能维持在一个较高的水平.
公众号演示
走地之王
项目来由
热衷于足球多年,之余也会去研究一下,时间久了,都会有自己的心得.
但不可能每次都那么费劲的自己人工去看盘分析,
所以结合所学,就有这个项目.
几年前熬夜看欧冠,利物浦 3-0 击败巴萨晋级决赛,赛后一个同为球迷的朋友问我“现在大数据能分析足球比赛的胜平负或者大小球吗?”
我一听,没有做很肯定的回答。早些世界杯的时候,百度体育运用大数据的技术预测过,关注过的朋友都知道,准确率不理想。后来我仔细的想了想,任何数据,你只要去挖掘,绝对是有价值的,足球赛事的数据也一样。由于之前自己也买过足球财票,北京单场、混合过关、任九都玩过,对赔率、亚盘稍有了解。这几天自己写了个爬虫,把近十年欧洲五大联赛足球的赛事数据爬了下来,包扣欧赔、亚盘、大小球、比分数据。
大数据的技能
数据收集: ETL东西担任将散布的、异构数据源中的数据如联系数据、平面数据文件等抽取光临时中间层后进行清洗、转化、集成,最终加载到数据仓库或数据集市中,成为联机剖析处理、数据发掘的根底。
数据存取: 联系数据库、NOSQL、SQL等。
根底架构: 云存储、散布式文件存储等。
数据处理: 自然言语处理(NLP,Natural Language Processing)是研讨人与核算机交互的言语问题的一门学科。处理自然言语的关键是要让核算机”了解”自然言语,所以自然言语处理又叫做自然言语了解也称为核算言语学。一方面它是言语信息处理的一个分支,另一方面它是人工智能的中心课题之一。
核算剖析: 假设查验、显著性查验、差异剖析、相关剖析、T查验、 方差剖析 、 卡方剖析、偏相关剖析、间隔剖析、回归剖析、简略回归剖析、多元回归剖析、逐步回归、回归猜测与残差剖析、岭回归、logistic回归剖析、曲线估量、 因子剖析、聚类剖析、主成分剖析、因子剖析、快速聚类法与聚类法、判别剖析、对应剖析、多元对应剖析(最优标准剖析)、bootstrap技能等等。
数据发掘: 分类 (Classification)、估量(Estimation)、猜测(Prediction)、相关性分组或相关规矩(Affinity grouping or association rules)、聚类(Clustering)、描绘和可视化、Description and Visualization)、杂乱数据类型发掘(Text, Web ,图形图像,视频,音频等)
项目结构
|-- assets 素材文件夹
| |-- common
| | `-- template
| | `-- analycontent 主要用于生成推荐文字说明内容
| |-- leisu
| | `-- html
| `-- wechat
| |-- html 发布公众号使用到的素材html
| `-- img 发布公众号使用到的素材图片
|-- bin 一键打包的存放目录
| |-- assets
| | |-- common
| | | `-- template
| | | `-- analycontent
| | |-- leisu
| | | `-- html
| | `-- wechat
| | |-- html
| | `-- img
| `-- conf
|-- conf 配置文件夹
|-- foot-api 实体类项目,用于存放模块的载体类
| |-- common
| | `-- base
| | `-- pojo
| `-- module
| |-- analy
| | |-- pojo
| | `-- vo
| |-- core
| | `-- pojo
| |-- elem
| | `-- pojo
| |-- match
| | `-- pojo
| |-- odds
| | `-- pojo
| `-- suggest
| |-- enums
| |-- pojo
| `-- vo
|-- foot-core 核心库,用于提供数据库CRUD的功能,及对接第三方网络的功能
| |-- common 通用库
| | |-- base
| | | |-- controller
| | | `-- service
| | | `-- mysql
| | |-- fliters
| | |-- routers
| | `-- utils
| |-- launch
| |-- module
| | |-- analy 分析模型模块
| | | |-- constants
| | | `-- service
| | |-- check
| | | `-- sql
| | |-- core
| | | `-- service
| | |-- elem
| | | `-- service
| | |-- index
| | | `-- controller
| | |-- leisu
| | | |-- constants
| | | |-- controller
| | | |-- service
| | | |-- utils
| | | `-- vo
| | |-- match 提供赛事的相关数据库操作
| | | |-- controller
| | | `-- service
| | |-- odds 提供指数的相关数据库操作
| | | `-- service
| | |-- spider
| | | `-- constants
| | |-- suggest 用于获取推荐的比赛列表
| | | `-- service
| | |-- tesou 无用
| | | |-- constants
| | | |-- service
| | | |-- utils
| | | `-- vo
| | `-- wechat 微信发布相关
| | |-- constants
| | |-- controller
| | `-- service
| `-- test
| `-- bson
|-- foot-gui
| `-- handler
|-- foot-robot
| `-- helper
|-- foot-spider 足球相关赛事指数数据的爬虫模块
| |-- common
| | `-- base
| | `-- down
| |-- launch
| `-- module
| `-- win007
| |-- down
| |-- proc
| `-- vo
|-- foot-web
`-- logs
代码片段:
String url="http://xxxx.xx/";//想采集的网址
String refer="http://xxx.xx/";
URL link=new URL(url);
WebClient wc=new WebClient();
WebRequest request=new WebRequest(link);
request.setCharset("UTF-8");
request.setProxyHost("x.120.120.x");
request.setProxyPort(8080);
request.setAdditionalHeader("Referer", refer);//设置请求报文头里的refer字段
设置请求报文头里的User-Agent字段
request.setAdditionalHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
//wc.addRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
//wc.addRequestHeader和request.setAdditionalHeader功能应该是一样的。选择一个即可。
//其他报文头字段可以根据需要添加
wc.getCookieManager().setCookiesEnabled(true);//开启cookie管理
wc.getOptions().setJavaScriptEnabled(true);//开启js解析。对于变态网页,这个是必须的
wc.getOptions().setCssEnabled(true);//开启css解析。对于变态网页,这个是必须的。
wc.getOptions().setThrowExceptionOnFailingStatusCode(false);
wc.getOptions().setThrowExceptionOnScriptError(false);
wc.getOptions().setTimeout(10000);
//设置cookie。如果你有cookie,可以在这里设置
Set cookies=null;
Iterator i = cookies.iterator();
while (i.hasNext())
{
wc.getCookieManager().addCookie(i.next());
}
//准备工作已经做好了
HtmlPage page=null;
page = wc.getPage(request);
if(page==null)
{
System.out.println("采集 "+url+" 失败!!!");
return ;
}
String content=page.asText();//网页内容保存在content里
if(content==null)
{
System.out.println("采集 "+url+" 失败!!!");
return ;
}
有了数据就有了分析的支撑点,这几天把这些数据好好了研究了下,后台通过编写模型规则,逐步的做了验证,发现有很多赔率组合打出来的赛果都很接近,也就是我们常说的大概率赛果,显然大数据是能分析出足球赛事的大概率赛果的。由于预测分析准确率高的赔率组合很多,不一一说明,这里我只举例一种大概率分析组合,分享给有缘人。
版权声明
本文仅代表作者观点,不代表xx立场。
本文系作者授权xxx发表,未经许可,不得转载。
发表评论