Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >01 使用LSTM模型预测双色球,中大奖指日可待!

01 使用LSTM模型预测双色球,中大奖指日可待!

作者头像
测试开发囤货
发布于 2021-09-08 02:27:29
发布于 2021-09-08 02:27:29
7.8K012
代码可运行
举报
文章被收录于专栏:测试开发囤货测试开发囤货
运行总次数:12
代码可运行
背景

上班空闲之余,同事们经常去买买彩票乐呵乐呵,希望中了头等奖就可以走上人生巅峰,哈哈哈!

今天我们用「LSTM预测模型」对双色球进行预测,用我们选出来的号码,看看能不能中奖!!!

技术

  • Python
  • Tensorflow
  • LSTM预测模型

LSTM非常适用于基于时序数据的预测,比如预测未来的股票行情,预测未来某个时间段的交通情况,预测未来的房价等。

需求分析

如下为某双色球发布站的页面,可以看到每期会产生红/蓝两种颜色的数字,其中红球为 33 选 6,蓝球为 16 选 1,一共是从 49 个球中选 7 个。假如想对某一色号球下注,比如红1 球,要先分析一下该球以往的产出情况。

网址:http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html

数据爬取

LSTM预测模型需要海量的数据集做为支撑,所以我们首先去爬取双色球,历年中奖的号码!

话不多说,贴代码!!!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import re
import urllib.request
import urllib
import requests
from bs4 import BeautifulSoup


#获取该网页的源代码
def getPage(url):
    try:
        user_agent = 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36'
        header = {'User-Agent': user_agent}
        request = urllib.request.Request(url,headers=header)
        response = urllib.request.urlopen(request)
        pageCode = response.read().decode('utf-8')
        return pageCode
    except Exception as e:
        print('Get Page Fail')
        print("An error has occurred:"+e)

#将双色球的信息写入txt文件
def writePage(date,dateNum,num):
    #日期的列表会比期号长1,因为最后加入了一组页数统计,所以不能以日期列表长度来写数据
    with open('./DCnumber.txt','a+') as f:
        for x in range(0,len(num)):
            f.write('('+date[x]+';'+dateNum[x]+';'+num[x]+')'+'\n')

#获取总页数
def getPageNum(url):
    try:
        pageCode = getPage(url)
        soup = BeautifulSoup(pageCode,'lxml')
        td_code = soup.find('td',colspan='7')       #获取表格中包含页数的列
        result = td_code.get_text().split(' ')      #将该列转换成列表,我们
        #result = ['\n', '共125', '页', '/2484', '条记录', '首页', '上一页', '下一页', '末页', '当前第', '2', '页']
        #用正则表达式从reslut[1]中提取出数字
        list_num = re.findall("[0-9]{1}",result[1])
        #将提取出来的数字转换成十进制的数值
        page_num = int(list_num[0]+list_num[1]+list_num[2])
        return page_num
    except Exception as e:
        print('Get Page Number Fail')
        print("An error has occurred:" + e)

#获取单页中的双色球中奖信息
def getDC(url):
    #循环读取每一页的信息
    for num in range(1,getPageNum(url)+1):
        print('begin get page:'+str(num))
        href = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_'+str(num)+'.html'
        page = BeautifulSoup(getPage(href),'lxml')
        em_list = page.find_all('em')   #获取该页面中的em内容,即中奖编号所在
        td_list = page.find_all('td',{'align':'center'})    #获取该页面中的开奖日期,期号等信息

        i = 1   #计数器,每七个号码为一组
        DCnum = ''      #存放一期中奖号码
        DCnum_list = []     #存放该页每期的中奖号码
        for em in em_list:
            emnum = em.get_text()
            if i == 7:
                DCnum = DCnum + emnum
                DCnum_list.append(DCnum)
                DCnum = ''          #重置一期的号码
                i = 1               #重置计数器
            else:
                DCnum = DCnum + emnum +','
                i += 1

        DCdate = []         #存放开奖日期
        DCdateN = []        #存放期号
        t = 1              #计数器,每5个为一组,我们只需要每组的前两个td内容
        for td in td_list:
            td_text = td.get_text()
            if t == 1:
                DCdate.append(td_text)
                t += 1
            elif t == 2:
                DCdateN.append(td_text)
                t += 1
            elif t == 5:
                t = 1
            else:
                t+=1
        writePage(DCdate,DCdateN,DCnum_list)


if __name__ == '__main__':
    getDC('http://url.html')

爬取【2003-02-23--->2021-08-19】一共18年的双色球中奖号码做为数据集!

模型训练

接下来我们利用「LSTM预测模型」进行模型训练,数据集训练耗时比较久,我们下篇文章再做详细的介绍!

总结

温馨提示:本文仅做数据处理技术讨论,不构成任何资金投入建议!

下集预告

  • LSTM模型训练
  • 双色球实战

关注「测试开发囤货」公众号回复「AI」,送你一套 Python机器学习 电子书。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
分析了16年的福利彩票记录,原来可以用Python这么买彩票
上周被一则新闻震惊到了,《2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 》,在2019年5月2日开奖的双色球中,广东中山一位彩民博中2454万元,兑奖时间截至2019年7月1日。
周三不加班
2019/07/15
1.9K0
分析了16年的福利彩票记录,原来可以用Python这么买彩票
bs4爬虫实战二:获取双色球中奖信息
目标分析: 访问双色球网站:http://www.zhcw.com/ssq/kaijiangshuju/index.shtml?type=0 右键查看源代码,发现这个框架的数据来源于: http:
py3study
2018/08/03
1.1K0
Python爬虫+数据可视化:分期并预测双色球中奖号码
红球一共6组,每组从1-33中抽取一个,六个互相不重复。然后蓝球是从1-16中抽取一个数字,这整个组成的双色球
松鼠爱吃饼干
2021/09/02
5.8K0
【视频】LSTM模型原理及其进行股票收盘价的时间序列预测讲解|附数据代码
时间序列预测在金融领域中扮演着举足轻重的角色,特别是在股票市场中。对于广大投资者和交易员而言,能够准确预测股票价格的变动趋势,不仅意味着能够在交易中做出更为明智的决策,还能够在风险管理中占据有利地位(点击文末“阅读原文”获取完整代码数据)。
拓端
2025/05/22
1480
【视频】LSTM模型原理及其进行股票收盘价的时间序列预测讲解|附数据代码
js 实现双色球
前端代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{ padding: 0; margin: 0; } li{ list-style: none; width: 50px; height: 50px; border-radius: 50%; text-al
姜姜178
2022/11/18
1.3K0
python3结合BeautifulSoup和requests爬取双色球开奖结果
查看其框架源码可知,其获取的url为:http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html
游离于山间之上的Java爱好者
2022/08/09
8340
python3结合BeautifulSoup和requests爬取双色球开奖结果
CSharp实现模拟双色球控制台应用程序
这是我在大一第一学期C#的课程设计,要求编写一个模拟双色球彩票的控制台应用程序,用以实现简单的模拟选购彩票。
摘繁华
2021/12/27
1.7K0
CSharp实现模拟双色球控制台应用程序
Python爬取彩票双色球并存到把数据e
环境:python3 目的:爬取15年的双色球开奖号以及期数和开奖日期: 上代码 #!/usr/bin/env python3 #-*-coding:utf-8-*- # @Author  : 杜文涛 # @Time    : 2018/4/19 16:01 # @File    : cpssq.py #×××双色球数据 import requests import re import xlwt import time def get_all_page():     global all_page
py3study
2020/01/06
1.5K0
bs4--xlwt存入excel
先写一个简单的python程序测试一下,创建一个名为excelwrite.py文件,代码如下:
py3study
2018/08/03
7860
用C#实现模拟双色球中奖控制台应用程序
简单地运用CSharp语言和.net平台,如变量、方法、类、数组、字典、系统函数、规范的注释、控制台输出、文件的读写、程序怎样设计等。
摘繁华
2022/05/03
1.5K0
用C#实现模拟双色球中奖控制台应用程序
LSTM一败涂地!男生发表4页最离谱论文,用时序模型预测女友情绪
---- 新智元报道   来源:网络 编辑:LRS 【新智元导读】最离谱的论文长什么样?有一个博主创建了一个博客,欢迎大家投稿各种长的像论文的论文。有个网友投稿,用时序模型分析女友的情绪,从数据收集到结论分析一应俱全,而他做的这一切竟然都是为了能安心打游戏! 女朋友的情绪和股票市场同样都是风雨难测,不同的是有大量从业人员使用各种各样的时序模型来研究,但女朋友的情绪却没有得到多少学者的关注。 最近Reddit上一个帖子火了,有一篇论文发表在Journal of Astrological Big Data
新智元
2023/05/22
2300
LSTM一败涂地!男生发表4页最离谱论文,用时序模型预测女友情绪
Python爬虫(全)
里面的parse方法,这个方法有两个作用 1.负责解析start_url下载的Response 对象,根据item提取数据(解析item数据的前提是parse里全部requests请求都被加入了爬取队列) 2.如果有新的url则加入爬取队列,负责进一步处理,URL的Request 对象 这两点简单来说就是编写爬虫的主要部分
yuanshuai
2022/08/22
13.3K0
Python爬虫(全)
【干货】RNN-LSTM的Keras实现:以预测比特币和以太坊价格为例(附代码)
【导读】本文是Siavash Fahimi撰写的一篇很棒的技术博文,主要讲解了用Keras实现RNN-LSTM,并用来预测比特币和以太坊的价格。在过去的一年,互联网行业最火的名词除了AI以外,就当属区块链了,虽然本文不涉及区块链的技术讲解,但是由于是对比特币价格进行预测,所以在此提及。言归正传,本文首先介绍RNN和LSTM的原理,这是两种应用广泛的时序模型,相信很多读者也都有所了解。本文的重点在于通过一个完整的实例来帮助读者理解RNN-LSTM以及Keras的用法, 并附完整实现代码,相信能给您带来新的感悟
WZEARW
2018/04/16
13.1K1
【干货】RNN-LSTM的Keras实现:以预测比特币和以太坊价格为例(附代码)
Python网易云音乐爬虫进阶篇
年前写过一篇爬网易云音乐评论的文章,爬不了多久又回被封,所以爬下来那么点根本做不了什么分析,后面就再改了下,加入了多线程,一次性爬一个歌手最热门50首歌曲的评论,算是进阶版了~
Awesome_Tang
2018/09/11
2.8K0
Python网易云音乐爬虫进阶篇
使用递归神经网络-长短期记忆(RNN-LSTM)预测比特币和以太币价格
2017年对人工智能和加密货币来说是重要的一年, 我们见证了许多新的研究进展和突破。毋庸置疑,人工智能是当今甚至今后很长一段时间内最令人瞩目的技术之一。 而加密货币在这一年中的热度之高是我所没有预料到的,这是加密货币的一波大牛市,投资加密货币(例如,如比特币,以太币,莱特币,瑞波币等)的资回报率几近疯狂。
用户3578099
2019/08/16
1.4K0
「Python爬虫系列讲解」十三、用 Scrapy 技术爬取网络数据
前文回顾: 「Python爬虫系列讲解」一、网络数据爬取概述 「Python爬虫系列讲解」二、Python知识初学 「Python爬虫系列讲解」三、正则表达式爬虫之牛刀小试 「Python爬虫系列讲解」四、BeautifulSoup 技术 「Python爬虫系列讲解」五、用 BeautifulSoup 爬取电影信息 「Python爬虫系列讲解」六、Python 数据库知识 「Python爬虫系列讲解」七、基于数据库存储的 BeautifulSoup 招聘爬取 「Python爬虫系列讲解」八、Selenium 技术 「Python爬虫系列讲解」九、用 Selenium 爬取在线百科知识 「Python爬虫系列讲解」十、基于数据库存储的 Selenium 博客爬虫 「Python爬虫系列讲解」十一、基于登录分析的 Selenium 微博爬虫 「Python爬虫系列讲解」十二、基于图片爬取的 Selenium 爬虫
荣仔_最靓的仔
2021/02/02
3.4K0
「Python爬虫系列讲解」十三、用 Scrapy 技术爬取网络数据
手把手 | 用Python语言模型和LSTM做一个Drake饶舌歌词生成器
大数据文摘出品 编译:Fei、倪倪、什锦甜、钱天培 未来AI的主要应用是在建立能够学习数据然后生成原创内容的网络。这个想法已经充分应用于在自然语言处理(NLP)领域,这也是AI社区能够搭建出所谓语言模型的原因:语言模型的前提是学习句子在文章段落中的组成结构,从而生成新的内容。 在这篇文章中,我想尝试生成与很受欢迎的加拿大说唱歌手Drake(a.k.a. #6god)风格类似的说唱歌词,这肯定是件很有趣的事儿。 另外,我还想分享一下常规的机器学习项目渠道,因为我发现很多同学想做一些小项目,但不知道该从何处入手
大数据文摘
2018/06/29
9700
黑板客爬虫闯关游戏
成功后可以获取下一关的地址链接哦!试试吧,如果你也对python爬虫有兴趣,欢迎交流指正哦!继续第二关的爬虫闯关游戏下一关地址
网络安全自修室
2020/09/07
8400
黑板客爬虫闯关游戏
[编程经验] 拉勾网爬虫数据的后续处理
上一篇我们介绍了如何爬拉勾的数据,这次介绍一下如何分析爬下来的数据,本文以自然语言处理这个岗位为例。 上次那个爬虫的代码有一点问题,不知道大家发现没有,反正也没有人给我说。。然后后面我把我最后改好的代码附在本文的最后。 本文主要分析的是岗位职责和岗位要求,基本思路是先分词,然后统计词频,最后最词云展示出来。先看下效果 从这个图可以看出来,自然语言处理大多数需要掌握深度学习,需要用深度学习去解决问题,然后是工作经验,项目经验,以及对算法的理解。 首先分词,要正确分词,需要有一份高质量的词典,因为在岗位
用户1622570
2018/04/11
2.2K0
[编程经验] 拉勾网爬虫数据的后续处理
【深度学习量化投资】RNNs在股票价格预测的应用基于Keras
前言 RNN和LSTMs在时态数据上表现特别好,这就是为什么他们在语音识别上是有效的。我们通过前25天的开高收低价格,去预测下一时刻的前收盘价。每个时间序列通过一个高斯分布和2层LSTM模型训练数据。文章分为两个版块,外汇价格预测和每日盘中价格预测(30分钟、15分钟、5分钟,等等)。源代码请在文末获取! 外汇预测(用英语描述) a. Daily Data is pulled from Yahoo’s Data Reader b. Only the training set is preprocesse
量化投资与机器学习微信公众号
2018/01/29
3.5K1
【深度学习量化投资】RNNs在股票价格预测的应用基于Keras
推荐阅读
相关推荐
分析了16年的福利彩票记录,原来可以用Python这么买彩票
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验