python抓取历年特码开奖记录

足球历年数据下载与清洗:Python抓取、SQLite/Parquet存储实战 在数据分析与机器学习项目中,数据采集、数据清洗和数据存储是决定后续效率的基础环节。以公开赛果数据为例,接口与静态归档常出现队名不一致、比分格式混乱、跨年赛季切分、时区偏差等问题;若直接进入建模或可视化,清洗成本往往远高于抓取本身。通过规范请求重试、断点续传和增量拉取,再配合队名映射、比分解析与结构校验统一口径,可把零散原始记录转化为可复用的时间序列或宽表,支撑长期战绩追踪、赛果预测和看板搭建。围绕历年足球数据下载这条链路,从数据源选择、Python下载器、清洗对齐到CSV/SQLite/Parquet存储, 阅读详情

背景:

小时候,有种游戏,两个主人公:白XX和曾XX,每个家庭把他俩像活菩萨一样供着,供他们吃,供他们穿

做生意的老板为了这两位活菩萨,关门大吉

农民为了这两位活菩萨卖牛卖田变卖家产

做官的为了这两位活菩萨丢掉乌纱帽

跳楼,自杀,跳河,跑路 成了一时的风气

当然,买码也是闹出很多笑话的

比如:不识字的农民看个CCTV7频道还看出了个特码,最后押注了07,还特么中了大奖。

          很多人为了白XX和曾XX,最后变成了CCTV少儿频道天线宝宝的忠实粉丝,这也可以看出特码啊,有木有啊

想起一位长者退休后俨然成为白XX和曾XX的文员,每天都会手动更新记录资料和各种画图,当时我就在想要是我读书能有他一半认真,起码要把北京城读一圈才肯放手。

干活开始,准备将这个东西作为一个系列来深入的研究一下

巧妇难为无米之炊,今天Buddyquan就先想办法把数据从网上弄下来

知识点:splinter库的使用,将抓取数据存入数据库,pandas库连接Mysql数据库进行数据的调用和基本统计整理

教程:谷歌chrome浏览器驱动的安装

 简单阐述为什么这次数据抓取选择这个库的原因:

1.一切都得从12306开始说起,当时已经自己倒腾出了查票的一套小程序,可是一直在想怎么绕过那个验证码,后来到网上各种找,看有没有解决办法,真的是东边不亮,亮西边,解决验证码的答案是没找到,倒是搜出了一大把标题党,其实内容就是介绍这个库的使用,耐着性子边操边练,也算入了门,后来去读了官方文档,发现这个家伙用处还是挺大

 2.查了很多XXXX彩的网站,发现坑爹的一点就是所有开奖记录都是js生成的网页代码,刚好splinter库的broswer.html返回的就是响应了js后的网页文本(和审查元素看到的一样一样的)

 3.1976年到2017年,也就41年,也就是说只要访问41次网页即可,对内存也造成不了多大的伤害,综合考虑,这个splinter就可以派上用场了

 那么splinter能干些啥呢?用网上的一句话概括就是:

 Splinter执行的时候会自动打开你指定的浏览器,访问指定的URL。

然后你所开发的模拟的任何行为,都会自动完成,你只需要坐在电脑面前,像看电影一样看着屏幕上各种动作自动完成然后收集结果即可。

使用参考文档:http://www.chinaz.com/program/2015/1209/481234.shtml

 官方文档:https://splinter.readthedocs.io/en/latest/tutorial.html

怎么安装splinter和chrome浏览器驱动

 Step1.安装splinter库(pip install splinter)

step2:安装浏览器驱动,我选择的是chrome的驱动

1.下载。2.解压。3.放至C:\Windows\System32 4.OK

驱动链接:http://pan.baidu.com/s/1nv2ni5N 密码:5c1c

接下来就开始抓取开奖结果相关的等一些字段吧!

网址通过浏览器搜索找到(这种类型的网站,有很多很多的。不过开奖记录基本上都是js生成的。)

我们看到,这种开奖记录,比小时候大家只去关注最终数字,情况是好的多,连笔画,五行都特么有。拿着放大镜数了一下共27个有价值字段我们可以取出

1.建个表,把数据写入数据库这种办法还是不错的,到时不管什么时候需要做有趣的统计分析研究的时候,直接拿数据就行了。

不用建表语句写入程序中是因为有没有发现navicat for mysql确实很好用啊。

2.网页基本分析完成,表也随着建好了之后,就是取数据了。

3.成功绕开用正则和json去解析js生成代码的痛苦,直接上splinter。

# coding utf-8
import requests
from bs4 import BeautifulSoup
from splinter.browser import Browser
import pymysql
from PIL import Image
import pandas as pd #用作之后做数据处理分析
b = Browser(driver_name="chrome") #启动浏览器驱动
con=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='123',db='quan',charset='utf8') #连接数据库
cur=con.cursor() #创建游标
def get_html(url):
    b.visit(url)
    html=b.html
    return html
pic_url='http://cimg2.163.com/catchpic/E/E7/E788DE8C249168F3C6B6CF878A633E04.jpg'
url1='http://www.*****.com/kj/'
year=[a for a in range(1976,2018)]
num=1
for c in year:
    url=url1+str(c)
    s=BeautifulSoup(get_html(url),'lxml')
    length=len(s.find_all('tr',class_='nowTo001'))
    for i in range (length):
        value_list=[]
        for d in s.find_all('tr',class_='nowTo001')[i].stripped_strings:
            value_list.append(d)
        try:
            sql="replace into buddyquan \
            (year,qishu,ma1,shengxiao1,ma2,shengxiao2,ma3,shengxiao3,ma4,shengxiao4,ma5,shengxiao5,ma6,shengxiao6,tema,\
            texiao,tebo,tetou,danshuang,wuxing,jiaye,daxiao,weishu,duanwei,bihua,nannv,heshu,zonghe) \
            values ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s',\
            '%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')" \
            %(value_list[0][:4],value_list[0][5:-1],value_list[1],value_list[2],value_list[3],value_list[4],\
             value_list[5],value_list[6],value_list[7],value_list[8],value_list[9],\
            value_list[10],value_list[11],value_list[12],value_list[25],value_list[27],\
             value_list[28],value_list[29],value_list[30],value_list[31],value_list[32],\
             value_list[33],value_list[34],value_list[35],value_list[36],value_list[37],value_list[38],value_list[39])
            cur.execute(sql)
            con.commit() #提交事务
            print ('插入成功  %s %s %s'% (value_list[0][:4],value_list[0][5:],num))
        except Exception as e:
            print ('插入错误\n%s ' % e)
            con.rollback() #回滚事务
        num=num+1
    print ('完成 %s 年开奖结果采集 ' % value_list[0][:4])
print ('特码来啦!\n已成功完成历年开奖结果采集,共 %s 期' % num)
with open ("d://missbai.jpg",'wb') as f:
    f.write(requests.get(pic_url).content)
missbai=Image.open("d://missbai.jpg")
missbai.show()
b.quit()

代码的方法很笨,还有很多地方可以优化,烦请各位大神多多指教

吃着火锅唱着歌,看着浏览器翻云覆雨狂奔之后,数据存入到了数据库中

这里用一个num打印了期数 

可以看到,自开奖至今,已经进行了4865次,有多少人N年如一日啊。哎

数据已写入数据库,今天就先简单的用pandas库稍微热热身吧(虽然这点数据量用excel已经可以起飞了)

我们先将pd的行数设置为8行,显示宽度调为200,这样更便于查看数据

 读取数据库数据所有数据(这里可以选择你想读取的任何数据,可以理解成用SQL提取数据然后用pandas来交互)

查看一下数据(效果还是差了点,列的宽度还存在问题,可以通过pd.set_option('display.max_colwidth',20)来设置列的最大宽度,将就着用吧)

 我们先把显示台的最大宽度调为49

 

来来来,天线宝宝的粉丝们,猜猜哪一个数字开奖频数最大啊

叫你买4X,买买买。本命年多个数字没毛线大作用啊。

那你知道哪个生肖频数最大吗?

 你还继续供着白XX和曾XX,把天线宝宝作为偶像的话,真的会变猪的啊。

预知后事如后,请听下回分解

注:本文的统计分析描述,毫无参考意义,开奖数据均已经过掺假处理,所展示数据均为虚拟数据,珍爱生命,远离白X姐和天线宝宝

概率事件的东西总是个磨人的小妖精,你心动了吗?因个人能力有限,如果你心动了,真诚的邀请您一起加入之后很多有趣的数据统计分析工作。

能力有限,做的不好的地方,大神们多多包含,尤其是逻辑与思维上的东西,需要大神们看到了多多指教和斧正。

Buddyquan博客:https://home.cnblogs.com/u/buddyquan/

QQ:1749061919 爬虫交流,数据交流

 

【Educoder实训平台作业】※网页抓取及信息提取 阅读详情

相关推荐

典藏版XP+VISTA 4in1 DVD合集WinXP-Vista

[原创] 自己动手制作典藏版XP+VISTA 4in1 DVD合集WinXP-Vista 技术研讨Windows 专区 - 雨林木风交流论坛[WwW_YlmF_Net] - 专业的电脑技术精英培养基地!

血腥大地-第二季(资源破解与管理)

课程继承游戏内容1.主要完成游戏资源的获取,从原血腥大地游戏中获取(不涉及任何商业利益,不能将游戏资源用于其他商业游戏).2.游戏资源的整理以及优化3.游戏纹理资源打包工具的制作4.游戏字体资源打包制作工具

ViGEmBus:Windows内核模式驱动程序,用于模拟著名的USB游戏控制器

ViGEm总线驱动程序 Windows内核模式驱动程序,模拟著名的USB游戏控制器。 (该项目可免费获得许可,但需要财务支持以保持其持续改进。除了维护和稳定性外,还有许多需要添加的功能。如果您的公司正在使用ViGEm的组件,请考虑出来) 业务:通过发票技术支持,维护,赞助合同支持持续发展: 电子邮件:vigem @ nefarius点位于 个人:通过捐款支持持续的维护和开发。 关于 ViGEmBus驱动程序和ViGEmClient库代表了虚拟游戏手柄仿真框架(简称ViGEm )的核心。 ViGEm目标是100%准确地将知名的游戏外围设备为内核级别的基于纯软件的设备。 由于它模仿“真实事物”

2025软考网络工程师--基础知识精讲视频

对软考网络工程师教材进行了详细解析,通过对考查知识点的细致讲解,让考生掌握解题思路和方法,做到举一反三,事半功倍。小任老师帮你把握考试重点,用短的时间,让你学到应该掌握的软考网络工程师内容。

SiSDOWN_Symbian_Hacked_again!_DrWeb_AV_security_hole_By_Coderus (1).rar

SiSDOWN_Symbian_Hacked_again!_DrWeb_AV_security_hole_By_Coderus (1).rar

JavSP:汇总多站点数据的AV元数据刮削器

Jav Scraper Package 汇总多站点数据的AV元数据刮削器 提取影片文件名中的番号信息,自动抓取并汇总多个站点数据的 AV 元数据,按照指定的规则分类整理影片文件,并创建供 Emby、Jellyfin、Kodi 等软件使用的元数据文件 功能特点 下面这些是一开始就决定要做的主要功能,在逐渐实现和完善,如果想到新的功能点也会加进来。 自动识别影片番号 支持处理影片分片 汇总多个站点的数据生成NFO数据文件 多线程并行抓取 下载高清封面 自动检查新版本 翻译标题和剧情简介 匹配本地字幕 使用小缩略图创建文件夹封面 保持不同站点间 genre 分类的统一 不同的运行模式(抓取数据+整理,仅抓取数据) 可选:所有站点均抓取失败时由人工介入 目前软件还处于比较初期的阶段,部分功能还没有完成。如果你愿意试一下,可以参照下面的说明。如果使用的时候遇到什么问题也欢迎给

分析了16年的福利彩票记录,原来可以用Python这么买彩票

目录 0 引言 1 环境 2 需求分析 3 代码实现 4 后记 0 引言 上周被一则新闻震惊到了,《2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 》,在2019年5月2日开奖的双色球中,广东中山一位彩民博中2454万元,兑奖时间截至2019年7月1日。 令人遗憾的是,中奖者最终未现身领奖,2454万元大奖成为弃奖。经中山市福彩中心查证,这是中国福彩史上金额第二大的弃奖。根据《彩票管...

Python专栏 9126

xxxx.rar_tube24XXXX_数码管动态显示

数码管显示一般分静态显示及动态显示两种驱动方式,静态显示占用口线比较多,本文介绍的是如何实现数码管动态显示,应该说数码管动态显示是单片机外部指令输出的重要途径,因此如何设计数码管以及数码管的工作原理、数码管显示的方法、数码管显示的抗干扰设计等在单片机系统设计中占有重要地位。这个例子在系统硬件的基础上设计了软件查询程序、软件延时程序(防止干扰),大致讲述了一种数码管动态显示的工作原理与读取方式。

python 爬虫爬取历年双色球开奖信息

目前写的这些爬虫都是些静态网页,对于一些高级网页(像经过JS渲染过的页面),目前技术并不能解决,自己也是在慢慢学习过程中,如有错误,欢迎指正; 对面前端知识本人并不懂,过程中如果涉及到前端知识,也是百度而来,毕竟爬虫还是和前端页面打交道多,前端知识还是要多学习;  此篇还是继续静态页面,更换了不同的内容,以及涉及到多个python 模块和自己二次封装的模块,个人感觉这些模块不使用在爬虫方面也...

weixin_34023863的博客 689

mj-1.6-src.rar_MJ_网络 游戏

麻 将 游戏源代码 可以单机也可以网络

网站源码YMYS009强大专业的x站在线视频网站.zip

网站源码

一次扫码,把 QQ 空间历年历史说说完整归档到本地:小白也能跑通的备份指南

GetQzonehistory 是一个免费的 QQ 空间历史说说备份工具:扫码登录一次,它自动拉取你的消息列表,把历年未删除的说说连同图片和评论导出为本地 Excel 与网页版。跑完一轮,你手里就是一个包含说说正文、图片文件、评论记录和好友名单的完整文件夹,全部躺在自己的硬盘里。 ## 📌 这个工具的"能"与"不能" - **能拿到**:QQ 空间消息列表里全部可见且未删除的内容——说说正文

gitblog_01033的博客 322

Cloudflare_1.1.1.1.apk.cab

Cloudflare_1.1.1.1.apk.cab

一次扫码,把QQ空间历年说说导出成Excel:GetQzonehistory备份教程

换手机前总有个顾虑:QQ空间里写了多年的说说,连同评论和图片,不备份一份,格式化之后就没了。GetQzonehistory 是一个开源 Python 工具,干的事情很单一:扫码登录你自己的QQ空间,把所有历史说说导出成 Excel 和 HTML,顺带把图片全部下载到本地,全程不用输入密码。 ## 📦 它就是一个本地导出器,交出这些文件 先说清运行方式:它模拟浏览器请求QQ空间的数据接口,所有

gitblog_01047的博客 195

2021电子科技大学分布式系统期末考点精析与实战解析

本文深入解析2021年电子科技大学分布式系统期末考试核心考点,包括分布式事务、时钟同步、GFS架构等高频内容。基于回忆版试题,提供实战解析与应试技巧,帮助考生高效复习。重点涵盖两阶段提交、Cristian算法等关键技术,适合计算机专业学生备考参考。

weixin_29251131的博客 540

双系统引导修复:GRUB消失后恢复Windows与Ubuntu启动菜单

在UEFI引导架构下,操作系统启动依赖于EFI系统分区(ESP)中存储的引导加载程序。当多个系统共存时,引导管理器负责识别并加载不同操作系统的引导文件。然而,Windows更新或系统调整时常会重置UEFI启动顺序,导致GRUB引导菜单消失,直接进入Windows。这一问题的技术价值在于理解UEFI启动流程与多系统引导管理机制,掌握ESP分区结构与引导文件修复方法。常见的应用场景包括双系统安装后的引导修复、系统更新后的启动项丢失以及磁盘分区调整导致的引导故障。本文针对**GRUB引导菜单消失**和**UEFI

weixin_29895109的博客 294
上一篇: linux下安装mysql5.7
下一篇: [数据挖掘]
jianglibo1024
博客等级 码龄10年 37粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值