做一个简单爬虫程序,获取近半年双色球开奖结果走势图,并将结果写入到以“学号+姓名”的文件

使用爬虫获取彩票开奖结果
编辑:www.fx114.net
本篇文章主要介绍了"使用爬虫获取彩票开奖结果",主要涉及到使用爬虫获取彩票开奖结果方面的内容,对于使用爬虫获取彩票开奖结果感兴趣的同学可以参考一下。
把彩票看作一个概率游戏,需要收集足够多期的开奖信息来作为分析对象。为了避免每次都手工输入数据,所以想办法用爬虫到网络上获取最新一期开奖数据并保存起来。
代码很简单,分成三个部分:1、定时任务 2、网页分析 3、保存数据
1、定时任务
以双色球为例,每周2、4、7晚21:30公布中奖号码,因此就启动一个定时任务,每天21:45进行数据抓取
private void StartSSQSpider(){
Timer timer = new Timer()
Calendar calendar = Calendar.getInstance()
// 每周二、四、日的21:30分公布开奖情况,从21:40开始抓取开奖结果
calendar.set(Calendar.HOUR_OF_DAY, 21)
calendar.set(Calendar.MINUTE, 40)
calendar.set(Calendar.SECOND, 0)
Date date = calendar.getTime()
timer.scheduleAtFixedRate(new SsqTask(), date, 24*60*60*1000)
SLogger.m_logger.info("已启动双色球数据收集任务")
2、网页分析,分析网页信息
public void run(){
Connection conn = Jsoup.connect(Config.AWARD_URL)
conn.timeout(Config.NET_TIME_OUT)
Document doc = conn.get()
// 页面中有三类彩票, 分别包含在三个table中,table的类名都是&table class="awardList"&
// 每类彩票table的&tbody&选出来, 每行一个彩种
Elements els = doc.select(".awardList")
Element digLotteryBody = els.get(0).select("tbody").get(0)
Element phyLotteryBody = els.get(1).select("tbody").get(0)
Element freLotteryBody = els.get(2).select("tbody").get(0)
DigLotteryProc(digLotteryBody)
LotteryDb db = LotteryDb.GetDbHandle()
db.RecordSsqAward(m_ssqAward)
}catch(Exception e){
private void DigLotteryProc(Element digLotteryBody){
// 处理数字彩票,从中间抓取取双色球、大乐透和七乐彩的开奖结果,每个彩种在table中都是&tbody&的一行&tr&
Elements trs = digLotteryBody.select("tr")
for (Element row : trs){
Elements name = row.select(".first")
if (0 == name.text().compareTo("双色球")){
if (0 == name.text().compareTo("大乐透")){
if (0 == name.text().compareTo("七乐彩")){
private void SSQ(Element row){
SsqAward ssqAward = new SsqAward()
String notice = "双色球"
Elements period = row.select(".period")
notice = notice + " " + period.text()
ssqAward.period = Integer.valueOf(SsqAward.PhasePeriod(period.text()))
Elements reds = row.select(".smallRedBall")
for (Element redBall : reds){
notice = notice + " " + redBall.text()
ssqAward.reds[i] = Integer.valueOf(redBall.text())
notice = notice + " :"
Elements blue = row.select(".smallBlueball")
notice = notice + " " + blue.text()
ssqAward.blue = Integer.valueOf(blue.text())
m_ssqAward = ssqAward
SLogger.m_logger.info(notice)
}catch(Exception e){
SLogger.m_logger.error(e.getMessage())
3、保存数据,使用MySQL数据库保存数据
public class LotteryDb {
private String url = "jdbc:mysql://127.0.0.1:3306/lottery";
private String user = "lottery";
private String pasd = "lottery123";
private LotteryDb(){
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver);
}catch(Exception e){
SLogger.m_logger.error(e.getMessage());
static private LotteryDb instance = null;
static public LotteryDb GetDbHandle(){
if (null == instance){
instance = new LotteryDb();
public boolean RecordSsqAward(SsqAward award){
Connection conn = DriverManager.getConnection(url, user, pasd);
if (conn.isClosed()){
System.out.println("Open database failed.");
return false;
String sql="insert into ssq_table values(?,?,?,?,?,?,?,?)";
PreparedStatement preStmt =conn.prepareStatement(sql);
preStmt.setInt(1, award.period);
for (int i = 0; i & 6; i++){
preStmt.setInt(i+2, award.reds[i]);
preStmt.setInt(8, award.blue);
preStmt.executeUpdate();
conn.close();
}catch(Exception e){
SLogger.m_logger.error(e.getMessage());
return false;
SLogger.m_logger.info("记录双色球开奖结果成功");
return true;
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:爬了一份双色球的数据,可以拿来干什么_百度知道
爬了一份双色球的数据,可以拿来干什么
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
重庆迅体网络有限公司
彩宝宝您身边的彩票梦工厂
重庆迅体网络有限公司
天伦之乐基金直属网站! 自主研究开发APP,推向大众市场。保证正规,提高诚信。
没什么用,现在网上随便一查都有这方面的结果
来自娱乐休闲类芝麻团
采纳数:60
获赞数:122
参与团队:
淘宝上卖,一份2块。
容明亮2016
容明亮2016
获赞数:27
啥都干不了
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。做一个简单爬虫程序,获取近半年双色球开奖结果,并将结果写入到以“学号+姓名”的文件_百度知道
做一个简单爬虫程序,获取近半年双色球开奖结果,并将结果写入到以“学号+姓名”的文件
做一个简单爬虫程序,获取近半年双色球开奖结果,并将结果写入到以“学号+姓名”的文件每一条包括期数,日期,开奖结果(红色和蓝色标注好),最终以数据采集和处理的时间为评分标准...
做一个简单爬虫程序,获取近半年双色球开奖结果,并将结果写入到以“学号+姓名”的文件每一条包括期数,日期,开奖结果(红色和蓝色标注好),最终以数据采集和处理的时间为评分标准
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
名字不一样,看说明书
采纳数:40
获赞数:77
擅长:暂未定制
是哪一首歌?
兄弟,你说啥呢?
天天鲜果000
天天鲜果000
擅长:暂未定制
我想我可以完成
1条折叠回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。历遍双色球所有可能性 怎么去除重复的号码?
[问题点数:40分,结帖人aboluo67]
本版专家分:0
结帖率 50%
CSDN今日推荐
本版专家分:5931
本版专家分:0
本版专家分:42
2008年12月 MS-SQL Server大版内专家分月排行榜第三
本版专家分:226
本版专家分:226
本版专家分:226
本版专家分:31777
2014年4月 C/C++大版内专家分月排行榜第二
2016年2月 C/C++大版内专家分月排行榜第三2016年1月 C/C++大版内专家分月排行榜第三
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:226
本版专家分:226
本版专家分:370132
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:0
匿名用户不能发表回复!
其他相关推荐502 条评论分享收藏感谢收起赞同 73 条评论分享收藏感谢收起}

我要回帖

更多关于 福彩双色球开奖结果 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信