本文实例讲述了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'}) #匹配 这样的内容
#初始化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相关栏目本月热门文章
- 1【Linux驱动开发】设备树详解(二)设备树语法详解
- 2别跟客户扯细节
- 3Springboot+RabbitMQ+ACK机制(生产方确认(全局、局部)、消费方确认)、知识盲区
- 4【Java】对象处理流(ObjectOutputStream和ObjectInputStream)
- 5【分页】常见两种SpringBoot项目中分页技巧
- 6一文带你搞懂OAuth2.0
- 7我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:虚拟机与Java虚拟机介绍
- 8【Spring Cloud】新闻头条微服务项目:FreeMarker模板引擎实现文章静态页面生成
- 9JavaSE - 封装、static成员和内部类
- 10树莓派mjpg-streamer实现监控及拍照功能调试
- 11用c++写一个蓝屏代码
- 12从JDK8源码中看ArrayList和LinkedList的区别
- 13idea 1、报错java: 找不到符号 符号: 变量 log 2、转换成Maven项目
- 14在openwrt使用C语言增加ubus接口(包含C uci操作)
- 15Spring 解决循环依赖
- 16SpringMVC——基于MVC架构的Spring框架
- 17Andy‘s First Dictionary C++ STL set应用
- 18动态内存管理
- 19我的创作纪念日
- 20Docker自定义镜像-Dockerfile
热门相关搜索
路由器设置
木托盘
宝塔面板
儿童python教程
心情低落
朋友圈
vim
双一流学科
专升本
我的学校
日记学校
西点培训学校
汽修学校
情书
化妆学校
塔沟武校
异形模板
西南大学排名
最精辟人生短句
6步教你追回被骗的钱
南昌大学排名
清朝十二帝
北京印刷学院排名
北方工业大学排名
北京航空航天大学排名
首都经济贸易大学排名
中国传媒大学排名
首都师范大学排名
中国地质大学(北京)排名
北京信息科技大学排名
中央民族大学排名
北京舞蹈学院排名
北京电影学院排名
中国戏曲学院排名
河北政法职业学院排名
河北经贸大学排名
天津中德应用技术大学排名
天津医学高等专科学校排名
天津美术学院排名
天津音乐学院排名
天津工业大学排名
北京工业大学耿丹学院排名
北京警察学院排名
天津科技大学排名
北京邮电大学(宏福校区)排名
北京网络职业学院排名
北京大学医学部排名
河北科技大学排名
河北地质大学排名
河北体育学院排名



