当前位置: 首页 > news >正文

Python爬虫实现双色球历史数据抓取

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

@

目录
  • 前言
  • 一、用python抓取每天的开奖数据
  • 二、接口开发
  • 总结


前言

公司楼下恰巧有个中国福利彩票中心,跟同事每天中午吃完饭都会去买两注,在支持中国公益事业的同时,作着一夜暴富的梦想;概率什么的咱都懂,就是相信自己会暴富~~
自己按照生日、幸运数字等等,选了一注心仪的号码然后定投;定投一段时间以后,自然而然的想到了 这注双色球号码在历史开奖中是否中过奖;如何查询选择的双色球号码在历史期数中是否中过奖;于是赶紧百度一下,看看怎么查,没有就自己做一个呀;
果然搜到了一个 china-ssq 电脑端、手机端浏览器都可访问,截图如下:

121


看了下网站的大体功能,提供双色球号码是否中过奖、大乐透号码是否中过奖,历史重复开奖记录等功能。网站介绍如下:

  1. 历史中奖查询:查询您心仪的号码(单式)是否已经在历史期数中开过奖,以供您参考
  2. 复式历史中奖查询:查询您所选的号码(复式)在历史开奖中,红球重复n球及以上的纪录
  3. 历史重复开奖记录查询:检索所有的历史开奖记录,查看是否有重复的开奖号码
  4. 中奖通知:在本站收藏您的幸运号码,我们将实时监控幸运号码的中奖情况,并第一时间通知到您

具体不知道这个网站开了多久,作者是否已经盈利了。不管三七二十一,我也决定用python实现一个。

一、用python抓取每天的开奖数据

代码如下(示例):

import requests
from bs4 import BeautifulSoup
import osdef get_data(url):response = requests.get(url)return response.textdef parse_data(html):soup = BeautifulSoup(html, 'html.parser')list = soup.select('div.ball_box01 ul li')ball = [li.string for li in list]return balldef write_to_csv(page, ball):with open('双色球开奖结果.csv', 'a', encoding='utf_8_sig') as f:f.write(f'第{page}期,{",".join(ball)}\n')def turn_page():url = "http://kaijiang.500.com/ssq.shtml"html = get_data(url)soup = BeautifulSoup(html, 'html.parser')pageList = soup.select("div.iSelectList a")for p in pageList:url = p['href']       # 提取链接page = p.string       # 提取字符串download(url, page)def download(url, page):html = get_data(url)ball = parse_data(html)write_to_csv(page, ball)print(f"第{page}期开奖结果录入完成")def main():if os.path.exists('双色球开奖结果.csv'):os.remove('双色球开奖结果.csv')turn_page()if __name__ == '__main__':main()

二、接口开发

传参自己心仪的双色球号码,然后去所有期次中撞库
代码如下(示例):

@RequestMapping(value ="/duotoneLottery/query",method = RequestMethod.GET)public List<DuotoneLotteryHistory> getDuotoneLotteriesByList(@RequestParam(value = "blue", required = false) Integer blue,@RequestParam(value = "red") String red){long startTime = System.currentTimeMillis();logger.info("begin query, blue: " + blue + ", red: " + red);List<String> ballList = Arrays.asList(red.split(","));List<Integer> balls = ballList.stream().map(Integer::valueOf).collect(Collectors.toList());Collections.sort(balls);DuotoneLotteryHistory duotoneLotteryQO = new DuotoneLotteryHistory();duotoneLotteryQO.setRed1(balls.get(0));duotoneLotteryQO.setRed2(balls.get(1));duotoneLotteryQO.setRed3(balls.get(2));duotoneLotteryQO.setRed4(balls.get(3));duotoneLotteryQO.setRed5(balls.get(4));duotoneLotteryQO.setRed6(balls.get(5));duotoneLotteryQO.setBlue(blue);QueryWrapper<DuotoneLotteryHistory> wrapper = new QueryWrapper<>(duotoneLotteryQO);List<DuotoneLotteryHistory> duotoneLotteryHistories = duotoneLotteryHistoryService.list(wrapper);logger.info("result size: " + duotoneLotteryHistories.size());String totalTime = DateUtils.getFriendlyTimeDiff(startTime, System.currentTimeMillis());logger.info("end totalTime: " + totalTime);return duotoneLotteryHistories;}

总结

有了所有期次数据后,就可以进行数据分析挖掘,开发各种有意思的功能;
最后,希望大家支持中国公益彩票,祝各位早日中得大奖~实现财富自由!

http://www.hskmm.com/?act=detail&tid=13113

相关文章:

  • 酵母细胞工厂全球调控策略研究进展:从遗传编辑到智能响应
  • Avalonia 根据绑定的数据类型动态选择模板
  • PyTorch图神经网络(一)
  • Python版Sigstore稳定版发布:软件供应链签名新标准
  • 网速带宽概念
  • 跨网传输软件:打通数据孤岛,保障安全流通!
  • 「KDOI-07」能量场
  • 基于LQR控制器的柔性机械臂抑振
  • 202507_QQ_caidundun
  • 国内企业邓白氏编码免费申请流程
  • 在CodeBolcks下wxSmith的C++编程教程——wxSmith教程目录(序言)
  • 生命周期
  • CF1893D Colorful Constructive 题解
  • C#通过15位或者18位身份证判断性别年龄
  • 深入解析:​​XMedia Recode 全能视频音频转换与编辑工具
  • MySQL同步ES的 5 种方案
  • 如何支持高并发高吞吐量编程
  • outlook大附件发送是什么?
  • 好用的提示词
  • 202312_Dest0g3_StrageTraiffic
  • 2025年内外网文件传输新范式:十大好用的内外网文件摆渡系统
  • 双分布函数热 LBM 模拟二维封闭方腔自然对流
  • asp.net中的wwwroot是什么
  • 用光学计算加速AI模型中的卷积和矩阵乘法操作
  • 了解IWebHostEnvironment : IHostEnvironment
  • PDF24 Creator(完全免费多功能PDF工具箱) 易于使用 多语言支持 - 教程
  • 彩笔运维勇闯机器学习--lasso回归
  • IP地址的配置
  • 【2025-09-21】连岳摘抄
  • 矩阵、线性代数 - 指南