点击“蓝字” 关注我们您好,恭喜您在AI时代关注了数程思维派,我是秦老师。
我们聚焦学以致用与创新,“AI驾驭者”帮助孩子构建驾驭AI而非被替代的能力。
本次Python实战项目是一款双色球历史数据爬取与分析工具,最终能实现从福彩官网爬取指定期数(默认100期)的真实开奖数据,完成数据查看、Excel保存、数据统计分析三大核心功能,还配有可视化图形界面。

我们全程有AI助手陪伴,既能做出可直接操作的桌面程序,还能系统学到爬虫、GUI(图形界面)开发、数据处理等技能,锻炼逻辑思维和问题解决能力。
在前15讲中,我们已经逐步实现了项目的所有核心功能,完成了GUI界面搭建、数据爬取、解析、显示、保存和统计分析。
本节课我们将进行项目收官,整体调试项目,解决常见bug(如输入非数字报错、数据爬取失败),同时借助AI扩展1个新功能,让项目更完善、更实用。
完整运行项目,所有按钮功能正常,新扩展功能可正常使用。
1. 梳理项目核心功能:
回顾前15讲内容,明确项目的四大核心功能(下载数据、生成Excel、解析数据、清空内容),逐一检查每个功能是否能正常运行。
2. 调试常见bug:
重点排查输入非数字(如期数输入字母、符号)导致的报错,添加输入校验;排查网络异常导致的数据爬取失败,添加异常捕获和提示。
3. AI辅助扩展新功能:
借助AI的帮助,扩展1个实用新功能,比如“数据导出提示弹窗”,让用户在生成Excel后,能快速打开文件,提升交互友好度。
4. 项目整体测试:
运行完整项目,测试所有功能和新扩展功能,确保无报错、运行流畅,实现项目收官。
项目完整代码,请参照文末方式获取。
# 双色球分析工具 - 第16讲核心代码# 功能:调试bug,添加输入校验、异常捕获,扩展新功能import tkinter as tkimport tkinter.messagebox as msgbox # 用于弹窗提示import requestsimport json# 延续前面所有代码(省略重复部分)# 1. 优化get_history_datas函数,添加异常捕获(解决爬取失败bug)def get_history_datas(): try: # 添加输入校验(解决输入非数字报错bug) pz = entry_widget.get() if not pz.isdigit(): pz = '100' msgbox.showwarning("提示", "请输入数字,已默认获取100期数据!") else: pz = entry_widget.get() url = f'http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&pageNo=1&pageSize={pz}&systemType=PC' headers = {'Host': 'www.cwl.gov.cn', 'Referer': 'http://www.cwl.gov.cn/c/2023/01/17/527544.shtml', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; root64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'} response = requests.get(url=url, headers=headers) result = json.loads(response.text).get('result') if not result: msgbox.showerror("错误", "数据爬取失败,请检查网络或稍后再试!") return {} data_dict = {res['code']: res['red'] + "," + res['blue'] for res in result} return data_dict except Exception as e: msgbox.showerror("错误", f"爬取数据时出现异常:{str(e)}") return {}# 2. 扩展新功能:Excel保存成功后,弹窗提示是否打开文件def savedatas_to_ex(): clear_text_widget() data_dict = get_history_datas() if not data_dict: return today = get_time() excel_path = os.path.join(os.path.dirname(__file__), f'{today}历史数据.xlsx') # (前面Excel生成代码省略,保持不变) wb = xlwt.Workbook() she = wb.add_sheet("彩票") # (表头设置、数据填入、样式设置代码省略,保持不变) wb.save(excel_path) text_widget.insert('insert', "数据已保存: " + excel_path + "\n") # 新功能:弹窗提示是否打开文件 choice = msgbox.askyesno("提示", "Excel文件已保存,是否立即打开?") if choice: os.startfile(excel_path) # 打开Excel文件# 3. 项目整体运行测试if __name__ == '__main__': root = tk.Tk() root.title('双色球分析工具') root.geometry('600x560') # (输入框、文本框、所有按钮创建代码省略,保持不变) root.mainloop()
1. 继续借助AI扩展更多实用功能,比如“数据筛选”(筛选指定期数、指定号码的数据);
2. 优化bug提示信息,让提示更简单易懂,适合理解和排查问题。
“我已经完成了双色球分析工具的核心功能,调试了常见bug,还扩展了打开Excel的功能。
麻烦帮我再扩展一个‘数据筛选’功能,能筛选指定期数和指定红球号码的数据,同时优化bug提示信息,让提示更简单易懂,给出可直接替换的代码,注释详细。”
恭喜你!成功完成了整个双色球分析工具项目的开发,从零基础搭建环境,到实现所有核心功能,再到调试bug、扩展新功能,你已经成长为能独立开发实用Python程序的小高手!
全程中,你学会了让AI成为你的编程助手,解决遇到的各种难题。
这不是结束,而是开始,后续你可以继续借助AI的力量,扩展更多功能,优化程序,相信只要你保持主动思考、大胆尝试的态度,一定能在编程的世界里收获更多惊喜!
本节课我们完成了项目的整体调试和收官工作,重点学习了bug排查、输入校验和异常捕获的方法,借助AI扩展了新功能,实现了完整的Python桌面程序开发。
从技术层面,我们融会贯通了requests、tkinter、xlwt等库的用法,掌握了异常处理、输入校验的核心技巧,理解了项目开发的完整流程;
从能力层面,我们锻炼了调试能力、问题解决能力和AI协创能力,学会了从整体视角把控项目,培养了“发现问题-分析问题-解决问题”的逻辑思维。
从教育角度,这契合建构主义学习理论“做中学、学中悟”的核心观点,整个项目的开发过程,是孩子逐步拆解任务、逐步完善功能的过程,强化了算法思维和工程思维,让孩子深刻体会到“坚持就能成功”的道理,同时也掌握了“让AI成为助手”的核心能力,为后续更复杂的编程学习打下坚实基础,也培养了孩子的创新意识和实践能力。
关注公众号,发送关键词“双色球”,免费获取本项目完整代码。数程思维派|专业创造未来
秦老师,211高校计算机专业全日制硕士研究生学历,学信网可查。蓝桥STEM优秀指导教师(证书编号:STEMA160529),拥有多年青少年科技教育一线教学经验,学生曾多次在各类权威科技竞赛中斩获优异成绩。覆盖Scratch/Python/C++编程学习全阶段,接轨CCF/CIE考级竞赛,从基础入门到赛事冲刺,为孩子提供持续、系统的专业指导。线下教学基地:南京市江宁区上元大街恒通大厦(江宁万达旁,地铁5号线直达)
数程小达人、AI驾驭者、赛考科学家,拒绝千篇一律的统一课程,对孩子因材施教,让孩子学有所得。若需了解课程详情,可通过微信扫描二维码添加秦老师,添加成功后即可立即享受价值超千元的课程专属优惠。
👇