双色球、大乐透、3D、排列三、排列五 等历史数据分布在不同网页里,有的历史数据不全,有的最新数据不及时更新。有的数据格式不适合进一步分析使用。 编写一个软件,一次性收集这些数据。为下一步分析做准备。
首先 创建d:\yypy 目录。 数据都会存储在这目录下。
1.性能
是一个用于抓取彩票数据并保存到 Excel 的 Python 脚本。支持以下彩票类型:
- 大乐透 (dlt)
- 双色球 (ssq)
- 排列三 (pls)
- 排列五 (plw)
- 3D (3d)
主要功能包括:
- 从指定网页抓取彩票历史数据。
- 获取最新的 3D 数据并插入到历史数据的最前面。
- 将数据保存为 Excel 文件,并记录日志信息。
数据来源公开网站。 不频繁抓取数据。
2. 代码优化点
(1)数据保存功能
- 使用
pandas
将数据保存为 Excel 文件,文件名根据彩票类型动态生成。 - 日志中会输出最新 5 条记录和总记录数量,便于验证数据完整性。
(2) 日志功能增强
- 使用
logging
模块记录程序运行状态,包括成功打开网页、保存数据、以及错误信息。 - 日志信息包括时间戳、日志级别和具体消息,便于调试和跟踪。
(3) 异常处理
- 对网络请求和解析过程中的异常进行捕获和处理,确保程序健壮性。
- 如果网页打开失败或数据解析失败,会记录错误日志并继续执行后续任务。
3. 使用说明
(1) 运行环境
- Python 3.x
- 依赖库:
requests
,beautifulsoup4
,pandas
,logging
(2) 运行方式
- 将代码保存为
yy_seekdata_main_2025_v2.py
。 - 在终端或命令行中运行:
python yy_seekdata_main_2025_v2.py
- 程序会自动抓取数据并保存到
d:/yypy/
目录下,文件名为yy_彩票类型.xlsx
。
(3) 日志文件
- 日志会输出到终端,同时可以通过修改
logging.basicConfig
配置将日志保存到文件。
(4) 自定义配置
- 如果需要修改保存路径或文件名,可以修改
filename
变量的值。 - 如果需要抓取其他彩票类型,可以在
lotteries
列表中添加或修改配置。