当前位置: 首页 > 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.gsyq.cn/news/9425.html

相关文章:

  • 酵母细胞工厂全球调控策略研究进展:从遗传编辑到智能响应
  • Java实现双色球历史开奖对比器
  • 成都恒利泰HT-SCA-4-10+是一款1分4射频功分器
  • 研发项目管理能力建设路线图
  • 好用的提示词
  • 使用 AI app 模板扩展来创建基于订制数据进行聊天的 .NET AI 应用
  • 用光学计算加速AI模型中的卷积和矩阵乘法操作
  • 船舶运动控制,PID控制算法,反步积分控制器
  • 光隔离探头与高压差分探头的可替代性讨论
  • 【笔记】人工智能原理
  • HTTPS 映射如何做?(HTTPS 映射配置、SNI 映射、TLS 终止、内网映射与 iOS 真机验证实战)
  • STM32 FreeRTOS + LwIP 集成实践:基于 MQTT 的通信示例 - 实践
  • 深入解析:HDR 动态元数据生成:场景自适应与质检脚本
  • CSS-渐变
  • 利用MCMC方法产生平稳的马尔科夫链
  • No.72 阿里图标库的使用
  • 接私活神器!一个轻量级的 Java 快速开发平台!
  • 第四届能源与动力工程国际学术会议(EPE 2025)
  • 实用指南:揭秘Pixie Dust攻击:利用路由器WPS漏洞离线破解PIN码接入无线网络
  • 2025 年(2026 届)计算机保研记录
  • 变分法和欧拉-拉格朗日方程 - Emi
  • 【Android】View 的滑动 - 实践
  • 实用指南:Vue开发准备
  • 完整教程:WPF 程序用户权限模块利用MarkupExtension实现控制控件显示
  • AppSpider 7.5.020 for Windows - Web 应用程序安全测试
  • 上周热点回顾(9.15
  • “学术造神”何时休?
  • 论文查重项目
  • JS历理 优化login.js脚本2
  • ios在wifi模式下设置http代理