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中copy()方法的使用
May 21 Python
Python变量作用范围实例分析
Jul 07 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
对python GUI实现完美进度条的示例详解
Dec 13 Python
Python实现钉钉发送报警消息的方法
Feb 20 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
Python3变量与基本数据类型用法实例分析
Feb 14 Python
Python远程方法调用实现过程解析
Jul 28 Python
python实现逻辑回归的示例
Oct 09 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 Memcache 中实现消息队列
2009/11/24 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
简单通用的JS滑动门代码
2008/12/19 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
python实现simhash算法实例
2014/04/25 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
django缓存配置的几种方法详解
2018/07/16 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
Python如何根据时间序列数据作图
2020/05/12 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
投标诚信承诺书
2014/05/26 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
科学育儿宣传标语
2014/10/08 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
交流会主持词
2015/07/02 职场文书
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL