Python数据分析之获取双色球历史信息的方法示例

本文实例讲述了Python数据分析之获取双色球历史信息的方法。分享给大家供大家参考,具体如下:

每个人都有一颗中双色球大奖的心,对于技术人员来说,通过技术分析,可以增加中奖几率,现使用python语言收集历史双色球中奖信息,之后进行预测分析。

说明:采用2016年5月15日获取的双色球数据为基础进行分析,总抽奖数1940次。

初级代码,有些内容比较繁琐,有更好的代码,大家可以分享。

#!/usr/bin/python
# -*- coding:UTF-8 -*-
#coding:utf-8
#author:levycui
#date:20160513
#Description:双色球信息收集
import urllib2
from bs4 import BeautifulSoup  #采用BeautifulSoup
import os
import re
#伪装成浏览器登陆,获取网页源代码
def getPage(href):
  headers = {
    'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'
  }
  req = urllib2.Request(
    url = href ,
    headers = headers
  )
  try:
    post = urllib2.urlopen(req)
  except urllib2.HTTPError,e:
    print e.code
    print e.reason
  return post.read()
#初始化url 双色球首页
url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html'
#===============================================================================
#获取url总页数
def getPageNum(url):
  num =0
  page = getPage(url)
  soup = BeautifulSoup(page)
  strong = soup.find('td',colspan='7')
  # print strong
  if strong:
    result = strong.get_text().split(' ')
    # print result
    list_num = re.findall("[0-9]{1}",result[1])
    # print list_num
    for i in range(len(list_num)):
      num = num*10 + int(list_num[i])
    return num
  else:
    return 0
#===============================================================================
#获取每页双色球的信息
def getText(url):
  for list_num in range(1,getPageNum(url)):  #从第一页到第getPageNum(url)页
    print list_num #打印下页码
    href = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_'+str(list_num)+'.html' #调用新url链接
    # for listnum in len(list_num):
    page = BeautifulSoup(getPage(href))
    em_list = page.find_all('em')  #匹配em内容
    div_list = page.find_all('td',{'align':'center'})  #匹配 <td align=center>这样的内容
    #初始化n
    n = 0
    #将双色球数字信息写入num.txt文件
    fp = open("num.txt" ,"w")
    for div in em_list:
      emnum1 = div.get_text()
      # print emnum1
      text = div.get_text()
      text = text.encode('utf-8')
      #print title
      n=n+1
      if n==7:
        text = text + "\n"
        n=0
      else:
        text = text + ","
      fp.write(str(text))
    fp.close()
    #将日期信息写入date.txt文件
    fp = open("date.txt" ,"w")
    for div in div_list:
      text = div.get_text().strip('')
      # print text
      list_num = re.findall('\d{4}-\d{2}-\d{2}',text)
      list_num = str(list_num[::1])
      list_num = list_num[3:13]
      if len(list_num) == 0:
        continue
      elif len(list_num) > 1:
        fp.write(str(list_num)+'\n')
    fp.close()
    #将num.txt和date.txt文件进行整合写入hun.txt文件中
    #格式如下:
    #('2016-05-03', '09,12,24,28,29,30,02')
    #('2016-05-01', '06,08,13,14,22,27,10')
    #('2016-04-28', '03,08,13,14,15,30,04')
    #
    fp01 = open("date.txt","r")
    a=[]
    for line01 in fp01:
      a.append(line01.strip('\n'))
      # print a
    fp01.close()
    fp02 = open("num.txt","r")
    b=[]
    for line02 in fp02:
      b.append(line02.strip('\n'))
      # print b
    fp02.close()
    fp = open("hun.txt" ,"a")
    for cc in zip(a,b): #使用zip方法合并
      print cc
      fp.write(str(cc) + '\n')
    fp.close()
#===============================================================================
if __name__=="__main__":
  pageNum = getPageNum(url)
  print pageNum
  getpagetext = getText(url)
  print getpagetext

数据样例:

('2015-03-03', '09,11,16,18,23,24,10')
('2015-03-01', '08,09,10,13,29,30,01')
('2015-02-26', '04,07,10,16,23,25,10')

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

您可能感兴趣的文章:

  • Python运用于数据分析的简单教程
  • 在MAC上搭建python数据分析开发环境
  • 利用python实现数据分析
  • Python数据分析之如何利用pandas查询数据示例代码
  • Python数据分析中Groupby用法之通过字典或Series进行分组的实例
  • 对Python进行数据分析_关于Package的安装问题
  • Python数据分析之双色球中蓝红球分析统计示例
  • Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
  • Python实现的双色球生成功能示例
  • python 随机数使用方法,推导以及字符串,双色球小程序实例
  • Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
(0)

相关推荐

  • Python运用于数据分析的简单教程

    最近,Analysis with Programming加入了Planet Python.作为该网站的首批特约博客,我这里来分享一下如何通过Python来开始数据分析.具体内容如下: 数据导入         导入本地的或者web端的CSV文件:     数据变换:     数据统计描述:     假设检验         单样本t检验:     可视化:     创建自定义函数. 数据导入 这是很关键的一步,为了后续的分析我们首先需要导入数据.通常来说,数据是CSV格式,就算不是,至少也可以转

  • 对Python进行数据分析_关于Package的安装问题

    一.为什么要使用Python进行数据分析? python拥有一个巨大的活跃的科学计算社区,拥有不断改良的库,能够轻松的集成C,C++,Fortran代码(Cython项目),可以同时用于研究和原型的构建以及生产系统的构建. 二.Python的优势与劣势: 1.Python是一种解释型语言,运行速度比编译型数据慢. 2.由于python有一个全局解释器锁(GIL),防止解释器同时执行多条python字节码,所以python不适用于高并发.多线程的应用程序. 三.使用Python进行数据分析常用的扩

  • python 随机数使用方法,推导以及字符串,双色球小程序实例

    如下所示: #随机数的使用 import random #导入random random.randint(0,9)#制定随机数0到9 i=random.sample(range(1,34),6)#输出6个随机数,范围是1到34 i.sort()#排序方法,排序时更改原数组,无返回值 sorted(i)#排序函数,排序时不影响原数组,产生新的排序后数据 print('----------------用上述的随机数做一个双色球---------------------') sj=random.sam

  • Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法

    本文实例讲述了Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法.分享给大家供大家参考,具体如下: 统计两个红球和蓝球,哪个组合最多,显示前19组数据 #!/usr/bin/python # -*- coding:UTF-8 -*- import pandas as pd import numpy as np import matplotlib.pyplot as plt import operator #导入数据 df = pd.read_table('newdata.txt',h

  • Python数据分析中Groupby用法之通过字典或Series进行分组的实例

    在数据分析中有时候需要自己定义分组规则 这里简单介绍一下用一个字典实现分组 people=DataFrame( np.random.randn(5,5), columns=['a','b','c','d','e'], index=['Joe','Steve','Wes','Jim','Travis'] ) mapping={'a':'red','b':'red','c':'blue','d':'blue','e':'red','f':'orange'} by_column=people.grou

  • Python实现的双色球生成功能示例

    本文实例讲述了Python实现的双色球生成功能.分享给大家供大家参考,具体如下: 最近学习Python的Random函数,就顺手写一个随机数的双色球程序,开发环境:python2.7 , 附上源代码如下: # _*_ coding:utf-8 _*_ import random qiu=[] while True: hong = random.randint(1,33)#产生一个随机红球 if hong in qiu: continue#跳过本次循环 qiu.append(hong)#把红色号码

  • Python数据分析之双色球中蓝红球分析统计示例

    本文实例讲述了Python数据分析之双色球中蓝红球分析统计.分享给大家供大家参考,具体如下: 这里接着上一篇Python数据分析之获取双色球历史信息收集的数据处理下, newdata.txt数据样子 ... 2005-08-21, 05,10,23,27,28,30,15 2005-08-18, 04,05,17,18,26,33,04 2005-08-16, 09,12,18,21,28,29,05 ... 一.蓝球统计: analyze_data_lan.py #!/usr/bin/pyth

  • 在MAC上搭建python数据分析开发环境

    最近工作转型到数据开发领域,想在本地搭建一个数据开发环境.自己有三年python开发经验,马上想到使用numpy.scipy.sklearn.pandas搭建一套数据开发环境. ubuntu的环境,百度中文章比较多,搭建起来非常顺利.MAC环境的资料比较少,百度出来的,已经不对了,那我就来补充一篇吧. MAC自带python,python的安装我就不多说了. 安装pip 我喜欢用pip安装python库,非常方便,pip的安装只能用源码了. #下载源代码 https://pypi.python.

  • Python数据分析之如何利用pandas查询数据示例代码

    前言 在数据分析领域,最热门的莫过于Python和R语言,本文将详细给大家介绍关于Python利用pandas查询数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 这里的查询数据相当于R语言里的subset功能,可以通过布尔索引有针对的选取原数据的子集.指定行.指定列等.我们先导入一个student数据集: student = pd.io.parsers.read_csv('C:\\Users\\admin\\Desktop\\student.csv')

  • 利用python实现数据分析

    1:文件内容格式为json的数据如何解析 import json,os,sys current_dir=os.path.abspath(".") filename=[file for file in os.listdir(current_dir) if ".txt" in file]#得到当前目录中,后缀为.txt的数据文件 fn=filename[0] if len(filename)==1 else "" #从list中取出第一个文件名 if

  • Python数据分析之双色球统计单个红和蓝球哪个比例高的方法

    本文实例讲述了Python数据分析之双色球统计单个红和蓝球哪个比例高的方法.分享给大家供大家参考,具体如下: 统计单个红球和蓝球,哪个组合最多,显示前19组数据 #!/usr/bin/python # -*- coding:UTF-8 -*- import pandas as pd import numpy as np import matplotlib.pyplot as plt import operator df = pd.read_table('newdata.txt',header=N

随机推荐