如何用Python打造火车票抢票软件?

首先,让我们了解一下12306火车票的基本信息。12306是中国铁路客户服务中心的官方网站,旅客可以在该网站上查询火车票信息和购买火车票。但是由于火车票非常抢手,导致很多人在购票时遇到了困难。因此,我们可以使用Python编写一个自动化抢票程序,以帮助旅客更轻松地购买火车票。

下面是一个简单的Python脚本,用于查询某一天的火车票信息:


import requestsimport json\# 出发地,目的地,日期from\_station = '深圳'to\_station = '北京'date = '2022-01-01'\# 查询地址url = f'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train\_date={date}38leftTicketDTO.from\_station={from\_station}38leftTicketDTO.to\_station={to\_station}38purpose\_codes=ADULT'\# 获取查询结果response = requests.get(url)result = json.loads(response.text)\# 打印结果print(result)

在这个脚本中,我们使用了requests库来获取查询结果,并使用json库将结果转换为Python对象。我们还定义了出发地、目的地和日期,并将它们作为参数传递给查询地址。最后,我们打印了查询结果。

接下来,我们需要使用Python构建一个火车票抢购程序。我们可以使用selenium库来模拟人类用户的交互,以完成登录、选择座位和提交订单等操作。

下面是一个简单的Python脚本,用于自动登录12306网站:

```pythonfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keys\# 浏览器驱动路径driver\_path = 'chromedriver.exe'\# 创建浏览器对象driver = webdriver.Chrome(executable\_path=driver\_path)\# 打开12306网站driver.get('https://www.12306.cn/index/')\# 切换到登录页面driver.find\_element\_by\_css\_selector('#J-header-login').click()driver.switch\_to.frame('login\_frame')\# 输入用户名和密码driver.find\_element\_by\_css\_selector('#J-userName').send\_keys('username')driver.find\_element\_by\_css\_selector('#J-password').send\_keys('password')\# 点击登录按钮driver.find\_element\_by\_css\_selector('#J-login').click()

在这个脚本中,我们使用了selenium库来创建一个浏览器对象,并使用Chrome浏览器作为驱动器。我们打开了12306网站,并切换到登录页面。然后,我们输入用户名和密码,并单击登录按钮。这将自动登录到12306网站。

我们还可以使用selenium库来选择座位和提交订单。

\# 选择出发地和目的地driver.find\_element\_by\_css\_selector('#fromStationText').send\_keys('深圳')driver.find\_element\_by\_css\_selector('#toStationText').send\_keys('北京')\# 选择日期driver.find\_element\_by\_css\_selector('#train\_date').send\_keys('2022-01-01')\# 查询火车票信息driver.find\_element\_by\_css\_selector('#search\_one').click()\# 选择座位driver.find\_element\_by\_css\_selector('#normal\_seat\_1').click()\# 提交订单driver.find\_element\_by\_css\_selector('#submitOrder\_id').click()

在这个脚本中,我们选择了出发地、目的地和日期,并单击查询按钮。然后,我们选择座位并提交订单。这将自动完成火车票的购买过程。

虽然这个脚本看起来很简单,但它是一个完整的Python程序,可以自动抢购12306火车票。你可以将这个脚本保存为一个.py文件,并使用Python解释器来运行它。

需要完整代码的,看下方

🎁福利🎁 全网最全《Python学习资料》免费赠送🆓!

最近火热ChatGPT 等人工智能应用对 Python 编程语言产生了积极的影响,它推动了 Python 的普及和发展,在文本处理和 NLP 领域提升了 Python 的地位,促进了 Python 生态系统的成长

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python学习路线

python学习路线图1
在这里插入图片描述

二、Python基础学习

1. 开发工具

2. 学习笔记

在这里插入图片描述

3. 学习视频

在这里插入图片描述

三、Python小白必备手册

图片

四、数据分析全套资源

在这里插入图片描述

五、Python面试集锦

1. 面试资料

在这里插入图片描述

在这里插入图片描述

2. 简历模板

在这里插入图片描述

因篇幅有限,仅展示部分资料,添加上方即可获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49092.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go并发异步请求秀动抢票

继上次python请求秀动接口,这次我将采用性能最佳的Go语言重构,(tips:因分享了太多人,有人以此向外获利,所以停止分享) 之前采用python异步请求,三次请求购票接口的思路。鉴于秀动app的防护措施愈…

OpenAI重磅官宣ChatGPT安卓版本周发布,现已开启下载预约,附详细预约教程

7月22号,OpenAI 突然宣布,安卓版 ChatGPT 将在下周发布!换句话说,本周安卓版 ChatGPT正式上线! 最早,ChatGPT仅有网页版。 今年5月,iOS版ChatGPT正式发布,当时OpenAI表示Android版将…

连Go语言都开始抢占Android的“市场“

前言 在当前的技术行业中,开发语言的占比是一个风向标,Android在达到一个顶峰之后就一直在回落,市场红利一过,与后端的竞争中就立马落入下风。 观! 市面上的培训机构对于Android的培训课程已经大幅减少 听&#xff…

现代化 Android 开发:多 Activity 多 Page 的 UI 架构

在古老的 Android 时代,基本上一个 Activity 就代表一个界面,所以开发不需要做选择,但随着技术的迭代与框架的完善,Fragment 的使用成为主流,再进化为 Jetpack 的 navigation。再到如今越来越火热的 Compose。同是 And…

五年磨一剑——Sealos 云操作系统正式发布!

这是个宏伟的计划 这是一个宏伟的计划,漫长且有趣。 2018 年的某个夜晚,夜深人静,我挥舞键盘,敲下了 Sealos 的第一行代码。当时仓库命名为 “kubeinit”,后来觉得格局太小,我不可能只做一个安装 Kuberne…

ChatGPT-所见、所闻、所感

作者:刘聪NLP(NLP算法工程师) 文章经过作者同意转载 作为一个NLP工程师,自22年11月30号起,我的心态的从焦虑到平静再到焦虑,每天的感觉就像做过山车一样,跌宕起伏,只因它-ChatGPT。 …

巴黎时装周儿童单元上海站圆满举行,徐圣恩受邀参加

10月2日,作为国内最具知名度和专业性的儿童时装周,巴黎时装周儿童单元上海站隆重举行。巴黎时装周儿童单元由巴黎高定协会举办,为孩子提供一个展示梦想的舞台,自公开以来就受到社会的广泛关注与支持。著名艺人徐圣恩受邀出席本站活…

2021秋冬上海时装周开启,聚焦8大国内外品牌

2021年4月7日,上海时装周SIFS AW2021于上海静安嘉里中心正式开启,平台汇集国内外高端礼服品牌,聚焦时尚,华丽盛放。 本季上海时装周SIFS,聚焦8大国内外品牌。意大利品牌NICOLE作为全球婚纱标杆,首度来到中国…

iNFTnews丨众多时尚品牌参加元宇宙时装周,抢先把握数字时尚的未来

元宇宙作为一个全新的概念,却已在许多行业有着或轻或重的影响,其对万亿美元零售业的影响最近在元宇宙时装周 (MVFW) 上得以显现。这种完全虚拟的体验于 2022 年 3 月 24 日至 27 日在以太坊区块链上的去中心化虚拟社交平台 Decentraland 举行。线上活动吸…

一秒钟变身明星:用swapface软件体验星光熠熠的感觉!

你是否曾经想过能够用电脑或手机来实时地将自己的面部与其他人或角色进行交换?你是否曾经想过能够用一款简单易用的软件来制作出有趣或惊艳的面部交换直播、视频或图片?如果你的答案是肯定的,那么你一定要试试swapface软件,这是一…

COSELF 次元秀场伦敦时装周预告 #虚拟时尚

在虚拟世界里的未来服装,能自由变化自己的样貌和服饰。或许未来会作为人类皮肤的第二表征,极大解放人们的精神自由。 COSELF 次元秀场 「预告」 数字高定系列 时间:本月 17 - 21 日 地点:当季伦敦时装周 「COSELF 次元秀场-数字高…

小米二代真的性价碉堡了?对不起,雷军在搞期货交易

小米2代1999的价格真的碉堡了么?事实真的是如此吗?小米2手机为什么看起来性价比那么高?答案是,那是期货价格!事实上,到了十月中旬你也不一定能够买到,可以想象首次发售一定是限定很少的数量&…

XuperSocial首个明星DApp上线,探索区块链分布式通信基础设施

12月7日,星际口袋上线星际社区,为广大藏友提供稳定、可信的交流场所。 星际社区基于百度超级链团队重磅发布的去平台化社交解决方案XuperSocial搭建,XuperSocial是架设在百度超级链开放网络(XuperOS)上的DApp&#xff…

初识以太坊 ——钱包、测试网络和简单交易

以太币单位 • 以太坊的货币单位称为以太,也称为ETH或符号Ξ • ether被细分为更小的单位,直到可能的最小单位,称为wei;1 ether 10^18wei • 以太的值总是在以太坊内部表示为以wei表示的无符号整数值。 • 以太的各种单位都有一个…

Steam注册遇到CAPTCHA问题,一直注册不了,一个简单的注册办法

这个问题一直解决不了 后来我就用了V.P.eN翻墙在Google Chrome上粘贴进入网址再注册就巨快 我自己用的一个很简洁,好用免费的VPeN叫白鲸 V.P.eN下载网址:https://www.bjch110.com/?mid1003 下载安装都很简单 然后白鲸显示连接上后,就打开Goo…

Android Studio实现智能聊天机器人

项目目录 一、需求分析1、业务需求分析2、模型需求分析3、界面需求分析 二、开发环境三、聊天功能业务实现1、✨申请机器人身份标识2、搭建聊天界面布局3、搭建聊天条目布局4、封装聊天信息实体类5、编写聊天列表适配器6、实现智能机器人通信 四、项目效果五、项目总结六、源码…

Android智能聊天机器人

苹果有Siri,百度有小度,小米有小爱,而且后来竟然又出了个小兵,总之类似的智能聊天机器人是越来越多了。面对这样智能的机器人,我们似乎只能是体验者。想想底层的算法就让人头疼,它到底是怎么识别出一句话的意思的&…

德国IT行业薪酬水平大揭秘--2020

点击 欧盟IT那些事 关注我们 公告:因企鹅审核规定,本公众号从《德国IT那些事》更名为《欧盟IT那些事》。 所有脱离工龄、级别、职位、经验、城市以及裙带关系来谈论工资,都是耍流氓! 一般来说IT行业公司,资历是按等级划…

德国IT行业薪酬水平大揭秘--2023

点击 欧盟IT那些事 关注我们 公告:因企鹅审核规定,本公众号从《德国IT那些事》更名为《欧盟IT那些事》。 所有脱离工龄、级别、职位、经验、城市以及裙带关系来谈论工资,都是耍流氓!2022-23年,SAP行业薪酬异军突起&…

当事务Transactional遇见异步线程出现的坑

问题 开发小伙伴遇到线上环境消息推送不成功,排查日志发现推送是id为null 代码示例 Transactional(rollbackFor Exception.class) public void register(UserDTO dto) {User user BeanCopyUtils.copyBean(dto, User.class);insert(user);//注册成功消息推送exe…