python实现12306火车票查询器


Posted in Python onApril 20, 2017

12306火车票购票软件大家都用过,怎么用Python写一个命令行的火车票查看器,要求在命令行敲一行命令来获得你想要的火车票信息,下面通过本文学习吧。

Python火车票查询器

python实现12306火车票查询器

接口设置

先给这个小应用起个名字吧,既然及查询票务信息,那就叫它tickets

我们希望用户只要输入出发站,到达站以及日期就让就能获得想要的信息,所以tickets应该这样被使用:

$ tickets from to date

python实现12306火车票查询器

最终 $ tickets [-gdtkz] from to date

开发环境

用virtualenv建立虚拟环境,用Python3开发,

$ virtualenv -p /usr/bin/python3 venv

通过下面的命令激活它:

$ . venv/bin/activate

解析参数

Python有很多写命令行应用的工具,我们选用docopt这个简单易用的工具,我们先安装它:

$ pip3 install docopt

docopt可以按我们在文档字符串中定义的格式来解析参数,

python实现12306火车票查询器

python实现12306火车票查询器

获取数据

python实现12306火车票查询器

https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-07-01&from_station=SHH&to_station=BJP

python实现12306火车票查询器

https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8955

保存stations.html

python实现12306火车票查询器

python实现12306火车票查询器

python实现12306火车票查询器

python实现12306火车票查询器

显示结果

prettytable这个库可以让我们它像MySQL数据库那样格式化显示数据

$ pip3 install prettytable

python实现12306火车票查询器

以上所述是小编给大家介绍的python实现12306火车票查询器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
举例讲解Python中is和id的用法
Apr 03 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
Apr 05 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
python opencv判断图像是否为空的实例
Jan 26 Python
用python实现刷点击率的示例代码
Feb 21 Python
Python函数参数类型及排序原理总结
Dec 19 Python
Django中modelform组件实例用法总结
Feb 10 Python
python 星号(*)的多种用途
Sep 21 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 Python
Python编程修改MP3文件名称的方法
Apr 19 #Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 #Python
Python连接SQLServer2000的方法详解
Apr 19 #Python
Django自定义插件实现网站登录验证码功能
Apr 19 #Python
Python列表切片用法示例
Apr 19 #Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 #Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 #Python
You might like
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
nodejs如何获取时间戳与时间差
2016/08/03 NodeJs
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
教师节商场活动方案
2014/02/13 职场文书
2014国培学习感言
2014/03/05 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
施工安全责任书范本
2014/07/24 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
销售会议开幕词
2016/03/04 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL
各国货币符号大全
2022/02/17 杂记
SQL Server Agent 服务无法启动
2022/04/20 SQL Server