博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python如何利用双色球每天薅个煎饼果子
阅读量:6705 次
发布时间:2019-06-25

本文共 5340 字,大约阅读时间需要 17 分钟。

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 极客导航 即可关注,每个工作日都有文章更新。

一、概况

我们手里有了2389条双色球数据,除了昨天分析了红球和篮球出现的次数。还能干什么呢?我们脑海中出现了一个清晰而又可笑的商业模式。有没有人想知道这次买的双色球历史上是否中过奖呢?, 我好奇的去网上搜了搜,果然找到了一个网站( 截图如下:

看了大概网站的功能,就是提供历史中奖查询的。具体不知道这个网站开了大概多久,是否盈利。不管三七二十一,我也决定自己实现一个。

二、实现网站

  • 模型

我用的是Django框架来实现这个网站的,首先我根据数据库字段反向生成了模型类。

python manage.py inspectdb > ssq/models.py复制代码

生成的模型类如下:

class SsqInfo(models.Model):    red = models.CharField(max_length=45, blank=True, null=True)    blue = models.CharField(max_length=45, blank=True, null=True)    date = models.CharField(max_length=45, blank=True, null=True)    class Meta:        managed = False        db_table = 'ssq_info'复制代码
  • 模板

我们得快速搞定一个页面,大概长个样子:

    
查询双色球是否中奖
红球区
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
蓝球区
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
复制代码

数据有了,模型类有了,剩下的就是我们最关键的业务逻辑了。

  • 业务

首先我们需要知道双色球的中奖规则,抓紧百度一下:

规则了解后,我们业务就清晰多了,大概就算出我们选择的双色球号码和历史开奖号码,有多少个红球是一样的。

from django.shortcuts import render, HttpResponsefrom .models import SsqInfoimport jsonfrom django.views.decorators.csrf import csrf_exempt# Create your views here.@csrf_exemptdef index(request):    if request.method == 'GET':        return render(request, 'index.html')    else:        # 前端参数        reds = request.POST.getlist('red')        blue = request.POST.get('blue')        # ['11', '22', '33', '07', '06', '18']->[6, 7, 11, 18, 22, 33]        reds = sorted([int(i) for i in reds])        # [6, 7, 11, 18, 22, 33]->'06,07,11,18,22,33'        red = ",".join([str(i).zfill(2) for i in reds])        # 返回结果        results = []        # 先根据红球取出红球全部一样的        red_ssqs = SsqInfo.objects.filter(red=red).all()        for obj in red_ssqs:            if obj.blue == blue:                d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "6红1蓝 一等奖"} results.append(d) else: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "6红0蓝 二等奖"} results.append(d) # 在取出全部双色球 ssqs = SsqInfo.objects.all() for obj in ssqs: s1 = set(sorted(set(([int(i) for i in obj.red.split(",")])))) s2 = set(reds) # 历史s1={8,12,16,19,26,32} # 前端s2 = [6, 7, 16, 18, 22, 33] # s1&s2的交集 {16} length = len(s1 & s2) # 取交集长度 # 三等奖 if length == 5 and obj.blue == blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "5红1蓝 三等奖"} results.append(d) # 四等奖 if length == 5 and obj.blue != blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "中5红0蓝 四等奖"} results.append(d) if length == 4 and obj.blue == blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "中4红1蓝 四等奖"} results.append(d) # 五等奖 if length == 4 and obj.blue != blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "中4红0蓝 五等奖"} results.append(d) if length == 3 and obj.blue == blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "中3红1蓝 五等奖"} results.append(d) # 六等奖 if length == 2 and obj.blue == blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "中2红1蓝 六等奖"} results.append(d) if length == 1 and obj.blue == blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "中2红1蓝 六等奖"} results.append(d) if length == 0 and obj.blue == blue: d = {
"red": obj.red, "blue": obj.blue, "date": obj.date, 'desc': "中0红1蓝 六等奖"} results.append(d) return HttpResponse(json.dumps({
"data": results}, ensure_ascii=False), content_type='application/json')复制代码

业务写完,我们前端用ajax调用一下,把返回的数据填在前端页面就基本上完事了。

" class="hljs script">复制代码

调通以后,我抓紧试了一下。看看效果咋样?

还是六等奖多呀!

三、商业模式

来,咱们先像大佬一样,吹一波商业模式。到底能不能用这个每天赚个煎饼果子钱?我觉得是能的,首先如果只想建个网站就有点Low B了。现在小程序这么发达,完全可以写一个小程序,然后把小程序的二维码沾到大街小巷的彩票站,至少有一些人会好奇,自己选的号在历史上是否中过奖、中了多少次、中了多少钱,就会拿出手机扫一下。

就这个程序,一个共享虚拟主机就能搞定,一年服务器费用几十块钱。我就不相信一年几十块钱撸不回来。当你服务器撑不住的时候,也就是你赚大钱的时候到了。

目前此程序功能还不太完善,你不能只盯着双色球,还有其他的彩种,也是可以搞定的。在服务器上搞一个定时爬取,每天更新数据。当然你可以提供更多特色功能,比如根据姓名、生日、老婆名字生成双色球、vip、svip、ssvip等各种服务,让你享受帝王般的待遇。其他的功能我就不一一跟你们捣鼓了,自己想吧!

四、总结

虽然我们这辈子可能不会中双色球一等奖,但是我们确实可以这些数据干点有意思的事情。

欢迎关注我的公众号,我们一起学习。

转载于:https://juejin.im/post/5c90f524f265da6115608555

你可能感兴趣的文章
Android小知识-剖析OkHttp中的任务调度器Dispatcher
查看>>
switch的python实现
查看>>
Hybris UI的Route(路由)实现
查看>>
iOS探索:RunLoop本质、数据结构以及常驻线程实现
查看>>
算法的时间复杂度
查看>>
iOS独立开发者使用Bmob第三方后台服务初探
查看>>
共享适合移动端的“拾色器”插件
查看>>
《Java编程思想》笔记09------异常处理
查看>>
CPU发生异常到生成Crash Log的过程
查看>>
pyqt5中动画的使用
查看>>
[译]用 Java 创造你的第一个区块链之第二部分 —— 交易
查看>>
vuex 源码:如何实现一个简单的 vuex
查看>>
Thymeleaf的基本语法
查看>>
theos的Tweak创建的dylib怎么安装到非越狱机上详解
查看>>
Picasso-源码解析(三)
查看>>
深入理解 RxJava2:揭秘 subscribeOn(3)
查看>>
到底什么才是业务架构?
查看>>
基础设施即代码:Terraform和AWS无服务器
查看>>
Atlassian发布事故管理解决方案Jira Ops
查看>>
书评 —— 《Go语言编程》
查看>>