python的12306查询客户端

2一、引言 5(一)开发背景 5(二)选题意义 5(三)设计目标 5(四)开发技术 5二、系统概述 6(一)环境系统 6三、爬虫设计与实现 6(一)技术分析 6(二)实现过程 71.爬取各个城市的编号 72.搭建触发条件 83.查询处理 9四、界面设计与实现 10(一)技术分析 10(二)实现过程 101.创建主界面 10五、人机交互测试 16(一)逻辑语句测试 161.爬虫测试 162.条件测试 16(二)正常测试 18六、优化 19(一)优化说明 19(二)购票小提示实现过程 191.按钮设置 192.逻辑处理 193.提示测试 204.窗口类型 20(三)预售提示实现过程 211.按钮设置 212.逻辑处理 223.提示测试 22(四)天气预报实现过程 221.按钮设置 222.逻辑处理 233.天气预报测试 24(五)实时时间提醒实现过程 251.逻辑实现 252.测试 25(五)优化总结 27七、总结 28参考文献 29致谢 30随着网络时代的迅速发展,网络普及到了每一个人的手里。现在交通出行收到社会迅速发展的影响催生网络开发网上购票。受到服务器的限制,在流量膨胀的时候导致打不开网页从而无法顺利查票。从中得知浏览器效率低下,而且需要繁琐的步骤。查询客户端能处理众多问题。能减免繁琐的步骤,更能比别人先一步进行得知票数情况,从而提高日常安排效率。本文对12306查询客户端的流程以及需求进行了详细的进行了分析,运用了Python开发技术,PyCharm开发环境,利用了tkinter框架进行界面开发,利用pyinstaller模块生成客户端,实现开发了用户方便查询出行票数的客户端。本课题主要介绍了12306查询客户端开发的思想和背景,客户端的开发环境,客户端的从没有到有的过程。
2019 年 4 月 16 日 目录
Abstract
In this era of rapid development of the network, the network has spread to everyones hands. Now traffic travel has received the impact of rapid social development and has spawned online developme *好棒文|www.hbsrm.com +Q: ¥351916072$ 
nt online ticket purchases. Due to the limitations of the server, when the traffic is inflated, the webpage cannot be opened and the ticket cannot be checked smoothly. It is known that the browser is inefficient and requires cumbersome steps. 12306 query client can solve many problems. It can reduce the cumbersome steps, and can learn the number of votes one step ahead of others, achieve the effect of improving living efficiency.
This paper analyzes the process and requirements of 12306 query client in detail, uses Python development technology, PyCharm integrated development environment, uses tkinter framework for client interface development, uses pyinstaller framework to package code to generate client, realizes development of user It is convenient for the client to check the number of tickets. This topic mainly introduces the idea and background of 12306 query client development, client development environment, the client has never been to the process.
【Keywords】: Python; tkinter; PyCharm; pyinstaller; query client
一、引言
(一)开发背景
日常出行预备购票是用户必须经历的一步骤,但由于受到服务器的限制,如果流量过多服务器将对当前使用网页的用户进行限制。受到限制的用户打不开12306官网查询不到当前票数情况。浏览器出现问题无法访问也会影响到用户无法正常查票的结果。影响浏览器打开网页的不仅仅是服务器限制问题,更多的时候是因为当前使用网络由于使用人数过多导致网速受到了一定量的限制,从而影响到了打开网页的速度甚至无法打开网页。目前浏览器查票会受到许多外在因素的影响,比如:服务器限制、网速限制、本地浏览器BUG等,达不到用户的使用12306官网查票的要求。
服务器通过限制无法打开网页来对流量进行的限制。客户端通过网络爬虫伪装浏览器直接发送命令到服务器获取当前票数结果,达到了快人一步的效果。在使用客户端的过程中避免了限制打开网页、本地浏览器BUG、网速限制打开网页等问题。客户端能够快速的查询票数。
(二)选题意义
在本次毕业设计中,通过独立设计、开发应用,能够更深入的知道网络爬虫的实现过程。作为一名程序员,对于新技术要有探索精神,将Python网络爬虫运用实践,运用tkinter 库进行界面开发,运用pyinstaller进行生成客户端。只有永不停止的学习、尝试和探索,才能跟上科技发展的步伐,让专业更加专业。
客户端能帮助用户快速的查询自己的出行班次情况。
(三)设计目标
12306查询客户端主要是为了方便用户省略使用浏览器查询票数的繁琐步骤,以及避免服务器限制、网速限制、本地浏览器BUG等问题。主要的设计目标是用户在使用客户端能够直接输入目的地以及出发地,筛选能够预先购票的日期进行快速的进行票数查询
(四)开发技术
客户端开发技术
1.1、Python
Python 语言因为它具有易用、高效、可移植等特性受到IT界开发人员的热忱,目前大数据、云计算、人工智能时代正需要一门这样高效的程序设计语言。 Python还有一个让人为之疯狂的特点,它的第三方库达到十万多个,构成了庞大的计算生态,包含许多技术方向,比如:requests、BeautifulSoup 库用于网络爬虫,tkinter库用于图形界面开发。强大性和适应性
1.2 Tkinter框架
Pythony运用Tkinter进行窗口设计。构造比较通俗易懂,可以多平台使用,多系统的兼容性,小巧而强大,可以迅速帮助开发人员从概念到实现应用。
1.3 Python 正则库
在实际应用过程中,抓取到的数据一般都比较复杂,不能直接使用,网页大部分以Html格式贮存,而页面由各种不同的语义对象构成,不同的语义对象都存在不同的标记,通过对页面的解析,并且基于正则表达式进行匹配,就能实现对特定的信息进行查找和提取。为了适应页面变化、网站变更等,确保匹配更加稳定,还可以使用Python自带的模块,对页面进行解析、提取。
二、系统概述
(一)环境系统

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1013.html

好棒文