科学技术创新2020.20
基于Python的火车购票软件设计
鞠耀辉陈伟利张佳琦张晶亮何振豪
(吉林建筑大学,吉林长春130118)
1研制背景及意义
近些年来,中国的铁路正在高速的发展。交通越来越便利,节假日选择出行的人数正在不断增多,全国各大景点节假日人流量都特别大,有来自全国各地的游客游访。铁路出行以其快速、准时、经济、舒适的几大优势,吸引了更多人去选择。与此同时,相应的购票问题就出现了,尤其在春运、法定节假日、寒(暑)假学生潮和景点的旅游旺季等,往往是一票难求,出行困难。网络购票的兴起,让各种抢票攻略出现,各种抢票软件应运而生,甚至还收取一定费用。由于票源始终有限,又受到官方系统的限制,即使购票人肯额外花钱,选择抢票加速包,但能否抢到,有运气的成分,可能仍然没有足够票可买。有的软件在为我们购票的同时,默认选择抢票加速包,既没有帮助购票者出行更加便利,还增加了出行费用,加大了上述种种问题需要利用科技创新来得到更好地解决。
2设计方案
2.1方案构想
本作品的研究思路是基于了解目前所能搜索到的各种火车购票网站,并充分考虑了现今购票时的不足,以及对于对于节假日等时间乘客买不到票问题的调研,结合Python技术的基础,自主设计了一种新的解决方案。在解决乘客买不到票的同时,尽量减少时间、行程,并加强对于零散资源的利用的目的。
2.2整体设计及运行方案
在该软件运行之前,先导入火车运行车次、起点、中间站点、终点及时间信息构成链状数据结构。然后建立标记起点,可任意转换线路的中间点,终点。之后建立分段的车票价格、运行时间,这个时间包括了出发时间及到达时间。再建立优选方案,在乘客进行购票时,自动优选直达票,其次是同车换乘,最后才会选择中转车站,并且车站尽量选择同一站或相近的车站。之后建立硬件服务器,在服务器上运行Python算法程序以达到接收手机APP和WEB信息的目的。通过算法的计算,导出最优的乘车方案,提供给用户。
在完成手机APP的编写及运行测试后,提供给用户免费使用。用户可以直接使用此软件,也可以在遇到购票上的困难时使用该软件。用户进行购票时,对用户输入的起点、终点及具体车次进行数据采集,通过计算好的优选方案优先向用户推荐直达票,直达无票的情况下,直接使用同车换乘的方案,即在用户不需要换座换车的同时达到中转的目的。一站如果达不到目的那就增加到两站、三站。在这种方案进行
不下去或者耗费费用
时间行程等太高时,进行下一个方案。根据席位的差别进行席位交叉换乘,即购买同车另一个或另一种席位的中转票,只需切换席位就能达到中转的目的。如果席位切换也不行时,若是购票者愿意多购买一站,还可以在分段的行程中,有一两个站点的重叠,也就是说在其中的两站之间,购票者同时买了两张票,但也能够达到同车换乘的目的。叠加换乘也不行,那就通过购买少数站站票的方式实现购票。即购买某两个无剩余票站点之间的站票,使得用户前一段行程有座位,中间站一会,后一段行程也有座位。但要保证站票的时间不能太长。同车换乘是最优的方案,避免了换车的时间损失,同时有效利用车票的零散资源。此上的这些方案为层层递进的关系,在上一个方案无法进行下去时,才会进入到下一种方案的计算。这些数据是实时采集的,即可通过不同时间,多次计算获取购票方案。
2.3算法
关于算法部分,要求计算建立标记起点、中间站点、终点数据信息。
某线路(如图1所示),起点为a0,终点为a n在起点到终点之间有a1,a2等站点,现在就需要建立一个车票信息数据库,具体如下:
2.3.1使用Python爬虫技术,将a0→a1、a0→a2、a0→a3 0
a n-1、a0→a n并标记为:b01、b02、b03……b0n-1、b0n,数据包括:有票、具体张数、无票3种,及相应的席位信息等;
2.3.2同理建立a1→a2、a1→a3……a1→a n-1、a1→a n并标记为:b12、b13、b14……b1n-1、b1n,数据包括:有票、具体张数、无票3种,及相应的席位信息等;
2.3.3最后建立a n-1→a n并标记为:b n-1n,数据包括:有票、具体张数、无票3种,及相应的席位信息等;
2.3.4数据共有:(n-1)+(n-2)+(n-3)+……+2+1=n(n-1)/2;
2.3.5数据拼接
(1)1点换乘:在有票的条件下,查询b0m+b mn的可行性,其中am就是同车换乘中转站点;
(2)2点换乘:在有票的条件下,查询b0m+b m l+b ln的可行性,其中a m、a l就是同车换乘中转站点;
(3)多点换乘:在有票的条件下,查询b0m+b ml+……+b kn的可行性,其中a m、a l……a k就是同车换乘中转站点;
(4)上述方法无法实现时,考虑“席位切换”的方式实现购票,即标记ba、bb、bc、bd等信息,其中a(商务座)、b(一等座)、c (二等座)、d(站票)为席位种类,在数据拼接时,增加
摘要:针对春运、法定节假日、寒(暑)假学生潮和景点的旅游旺季等,人们抢票难、出行难的问题,通过对抢票软件、抢票浏览器等购票方式的分析,设计开发了基于Python爬虫技术的火车购票系统。此系统利用Python爬虫技术模拟浏览器访问12306网站,采集特定车次的起始站点、中转站点、终点分段车票信息,充分应用数据挖掘技术,将散票(分段车票)通过数据拼接技术分段购票,完成购票。
关键词:购票;免费;高效;便民
中图分类号:TP311.52文献标识码:A文章编号:2096-4390(2020)20-0092-02
吉林省教育厅大学生创新创业训练项目——
—基于Python爬虫技术的火车购票系统设计(201910191017)。(转下页)
92 --
2020.20科学技术创新“席位切换”。可能得到如下信息:ba 0m +bb m l +……+bc kn ,其中a m 、a l
……a k 就是同车换乘中转站点;
(5)上述方法无法实现时,考虑“少叠加换乘”的方式实现购
票,即标记ba 、bb 、bc 、bd 等信息,其中a (商务座)、b (一等座)、c
(二等座)、d (站票)为席位种类,在数据拼接时,增加”少叠加换
乘”。可能得到如下信息:ba 0m +1+bb m-1l +……+bc kn ,其中a m-1、a m +1、a l ……a k 就是同车换乘中转站点;
(6)上述方法无法实现时,考虑“少行程补票换乘”的方式实
现购票,即标记ba 、bb 、bc 、bd 等信息,其中a (商务座)、b (一等
座)、c (二等座)、d (站票)为席位种类,在数据拼接时,增加“少叠
加换乘”。可能得到如下信息:ba 0m-1+bd m -1m +1+b bm +1l +……+bc kn ,
其中a m -1、a m+1、a l ……a k 就是同车换乘中转站点;
同车换乘数学模型
(7)上述方法无法实现时,考虑“2车或2车以上换乘”的方式实现购票,首先选择中转车站
(尽量选择同一车站点),再确定具体车次信息,必须考虑中转时间(目前很多车站提供换乘快速通道),车次晚点等因素。比如:“2车换乘”(详见图所示)
就变成“2个同车换乘”,再应用上述的“同车换乘”的方法实现分段购票。
同理,“2车以上换乘”也就变成了“多个同车换乘”,再应用
上述的“同车换乘”的方法实现分段购票。只是,
换乘中转站点越多,耽误的换乘时间也就越多,
其中不确定因素也就越多。市面上现有的火车票购票程序不能高效的、
精准便捷的针对不同用户做出最符合其需求的火车票推荐方案。现在的购票软件仅仅依靠12306网站购票系统为核心,通过自有服务器的强大刷票能力进行抢票而已。在火车票资源不足时不能依靠自身的逻辑为用户提供一套最为适应的替代方案进行购票。而我
们的项目可以计算起点到终点间车次及车票的情况,
有票直接购买。直达无票的情况下,在无票的车次上先一个中间站,
进行分段式购买,其中遵循用户需求可以通过购买不同等级座位的方式来完成同车中转到站的方法来实现用户需求。如果仍然无票,智能选择中转站,将购票形式转换成起点-中转-终点。如
果仍然无票,将起点车次、终点车次、python爬虫开发
中间车次分解进行数据统计,采用神经网络多元算法,在有票的情况下,计算有效通路,并
抛弃路程过长,路程较高和中转过多的选择方案,
实现购票。3结论
3.1应用基于Python 语言的爬虫技术,Python 已成为目前
第三大主流编程语言,相较于前两种语言跟容易入门,
可操作性更高Python 爬虫技术作为二者结合它的适应性更为强大。
3.2我们设计的软件算法更能贴合用户需求,做到能最大
限度满足用户的个性,减少用户出行的麻烦,
能在可行范围内实现同车多次换乘达到一辆车次在各个阶段都有票的情况下使用户抵达目的地。
3.3在爬虫技术的应用下更快速的到最新的火车票信息,做到真正的在售票厅外得知每辆车每个站点之间的票务信息,帮助用户快速方便购票
(转下页)智能制造系统研究及趋势分析
周艳聪张波王岩胡德计陈聪(天津商业大学信息工程学院,天津300134)
1概述
随着科技的发展,传统的信息技术逐步更新换代,人工智能、虚拟现实等高新技术的迅猛发展,重新定义了现有的工业,传统的制造技术与新兴科技相融合,为制造业注入了新鲜血液与活力。高新技术进入现有的制造领域,改造了现有的生产结构,实现现实生产与虚拟管理互联,将生产制造流程全程网络化,通过虚拟网络连通生产、销售、服务,将传统的生产制造变成智能制造。智能制造已成为当今各制造大国主要发展战略,是加快推进中国传统制造业企业管理创新思维能力不断发展、提质增效,实现从制造大国向制造强国转变的重要方法,是国家机械制造业水平的重要标志,是国家的基础产业和支柱产业。
2智能制造概述2.1智能制造简介
智能制造将人工智能技术应用于制造业,构成了人机一体化的智能系统。利用人和智能机器合作理念,有效提高生产效
率,规范生产流程。由于智能机器具备一定的分析、
推理、设计能力,因此不论是在批量产,还是在精细加工方面,都可以顺应自如。
2.2智能制造特征
智能制造与传统制造相比,有自律、人机一体化、虚拟现实和自我学习维护等特征。自律指智能制造机器有强大的数据支撑系统,运行时可以将环境数据与自身信息相结合,进行分析、判断并做出最优规划方案。人机一体化指目前所生产的智能制造机器只具备一定的逻辑推理思维,也可做到图像思维,但要具备人类的灵感思维,则需要人按照实际情况修改程序,才能使机器具备最大效能。虚拟现实特征指智能机器通过数据采
集、影像修复、环境分析、传感设置、
智能模拟等多项摘要:自国家正式部署《中国制造2025》战略以来,各国各厂商均从制造业基础零部件的智能制造入手,对现有的制造装备
进行智能化升级改造,构建智能制造生产线、智能制造车间、智能制造工厂和智慧制造社区,掀起了整个制造方法和制造模式的
变革。阐述了智能制造系统的特征、
核心技术以及智能制造未来发展趋势,旨在为相关产业提供参考。关键词:智能制造;中国制造;
人工智能中图分类号:F273,F425文献标识码:A 文章编号:2096-4390(2020)20-0093-0293--