【立项背景】客户需要获取近两年中国体育彩票“14场胜负”游戏的详细开奖数据,包括每期14场比赛的场次编号、对阵球队、赔率、比赛结果以及大奖金额,用于数据分析和研究。由于该数据无官方API且分散在多个网页,手动收集效率极低,因此开发此自动化采集工具。
【核心功能】
1. 自动采集:根据用户输入的起始和结束期号,循环请求目标网站获取每一期详细页面。
2. 数据解析:从HTML中提取14场比赛的主队、客队、比分、百家平均赔率(胜/平/负)以及开奖奖金信息。
3. 数据清洗:将比分自动转换为标准赛果(3/1/0),从赔率字符串中拆分出胜、平、负三列,处理缺失数据。
4. 自动跨年:支持期号自动跳转(如从25年最后一期跳至26年第一期),实现连续采集无需人工干预。
5. 数据导出:将多期数据合并后导出为一份完整的Excel文件。
【技术栈】Python + requests(网络请求)+ lxml(HTML解析)+ pandas(数据处理)。
【我的负责】独立完成整个项目的需求分析、技术选型、代码编写与调试。
【实现亮点】
1. 通过XPath从标签属性(data-bjpl)中直接提取结构化赔率数据,避免依赖页面动态加载。
2. 编写赛果自动转换逻辑,将比分(如“2:1”)准确转为3/1/0。
3. 实现期号自动跨年跳转,解决数据断层问题。
4. 使用Session复用连接,优化请求效率,避免被封。
【难点解决】网站多次改版导致旧URL失效,通过分析网页结构动态获取最新数据源,调整解析逻辑,最终成功采集上百期数据。