#好玩东西#六合彩预测,可能吗?
来源:互联网 发布:python 股票数据 编辑:程序博客网 时间:2024/04/29 02:27
闲话
寒假快过完的时候,我爸问我,“你学这个,有没办法预测下一期出什么?不需要准确,只要知道下一期特码的单双大小就好了。”
虽然理论上是不可能的,但是总是要搞一搞才死心。因为我们知道出单双的几率都是0.5,0.5,大小的几率也是0.5,0.5.
爬虫爬取数据
我们可以在网上找到往期六合彩的开彩数据,但是显然我们不可能一个一个地复制粘贴,效率太低也不现实。于是查找资料,简单写了一个爬虫来爬取数据。用nodejs写的,用的express框架,主要代码如下:
var request = require('sync-request');var cheerio = require('cheerio');var fs = require('fs');app.get('/', function(req, res) { // 资料共74页 // 由于获取资料有时会莫名停止,所以是手动选择页数,多次运行,多次获取 for(var indexpage = 68; indexpage < 74; indexpage++) { console.log('page:' + indexpage); // 同步request请求,为了防止获取的数据顺序混乱 var whatIGet = request('GET', 'http://www.lotto-8.com/listltohk.asp?indexpage=' + indexpage + '&orderby=new' , { }); // 获取成功时,处理数据 if (whatIGet.statusCode == 200) { $ = cheerio.load(whatIGet.body); // $ is a front-side selector with body // 处理获取到的html5代码,取得想要的数据 $('.auto-style5').each(function (index, item) { if(index > 4 && (index - 2) % 5 == 0){ console.log(index + ' ' + $(item).html()); var $item = $(item); // 将取到的数据写到文件 fs.appendFile('result.txt', $item.html() + ' ', 'utf-8',function(){return;}); } }); } } console.log('over');});
下图就是获取失败时的页面,在获取第43页数据时失败了。因此需要多次手动修改开始获取的资料的页面号。报的错,大概就是超时的意思吧。在此处for(var indexpage = 68; indexpage < 74; indexpage++)
经过多次跑后,获取了全部的往期共2163期的特码数,按从近到远的顺序。
以下是获取的数据。
数据统计
统计用matlab进行,代码如下
load result.txt;result = result';countArr = zeros(49, 1);num = size(result); % the number of record for i = 1 : num countArr(result(i)) = countArr(result(i)) + 1; endda = 0; % 单数xiao = 0; % 双数dan = 0; % 大数shuang = 0; % 小数for i = 1 : num if result(i) > 25 da = da + 1; else xiao = xiao + 1; end if (mod(result(i), 2) == 0) shuang = shuang + 1; else dan = dan + 1; endend dan shuang da xiao
跑出来的结果如下,
可以发现,单数跟双数出的次数基本一致。
而出小的次数比出大的次数多了41次,占所有开码次数的41/2136=0.0190.这是合理的,因为1-49个数中,1-25共25个数算小,26-49共24个数算大,小比大多一个数,占49个数中的1/49=0.0204,大小0.0190差不多。
所以实际出码结果跟预期结果差不多,可以认为出码结无法预测。唯一可以确定的是出小的几率比出大的大一点点,但是这一点点并不足以让买家一直买小而总体赢钱。
结论
不要想太多,要是能预测,六合彩公司早倒闭了。
参考文献
1.爬虫实战-NodeJS爬虫系统-极客学院
2.npm上的request文档
3.npm上的sync-request文档
4.npm上cheerio文档
改进
增加页面获取失败时的处理语句,即让获取失败时从新获取该页面。这样就不用手动修改页数来多次获取了。改为以下代码。
app.get('/', function(req, res) { // 资料共74页 // 由于获取资料有时会莫名停止,所以是手动选择页数,多次运行,多次获取 for(var indexpage = 1; indexpage < 74; indexpage++) { console.log('page:' + indexpage); // 同步request请求,为了防止获取的数据顺序混乱 var whatIGet = request('GET', 'http://www.lotto-8.com/listltohk.asp?indexpage=' + indexpage + '&orderby=new' , { }); // 获取成功时,处理数据 if (whatIGet.statusCode == 200) { $ = cheerio.load(whatIGet.body); // $ is a front-side selector with body // 处理获取到的html5代码,取得想要的数据 $('.auto-style5').each(function (index, item) { if(index > 4 && (index - 2) % 5 == 0){ console.log(index + ' ' + $(item).html()); var $item = $(item); // 将取到的数据写到文件 fs.appendFile('result.txt', $item.html() + ' ', 'utf-8',function(){return;}); } }); } else { // 当网页获取失败时,从新获取页面 indexpage = indexpage - 1; } } console.log('over');});
跑了一遍,果然一次到底。
- #好玩东西#六合彩预测,可能吗?
- 好玩的东西
- 好玩的东西~~~~~~~
- 好玩的东西
- 好玩的东西
- 好玩的东西
- 整点好玩的东西
- 好玩的东西-emit
- 好玩的东西
- 一些好玩的东西
- c++好玩的东西
- #好玩东西#eyesCarer
- 好玩的东西
- 一个颇好玩的东西
- MS .NET 中的好玩东西
- 六合彩GUI
- 可能有用的东西
- 发现一个好玩的东西 blog地图
- 关于 thinkPHP 项目分组后的访问问题
- 内容提供者及内容解析者的实现步骤
- POJ2007 Scrambled Polygon
- 网络拓扑结构
- 练习
- #好玩东西#六合彩预测,可能吗?
- Python学习笔记(2)
- tomcat9的安装及配置
- 冒泡法排序
- 浏览器插件推荐
- 读取properties配置文件代码
- ZigBee协议栈浅显解读(二)
- java23种设计模式
- maven(九),install安装到本地仓库