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列表操作实例
Jan 14 Python
python的sorted用法详解
Jun 25 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
Numpy之reshape()使用详解
Dec 26 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
tensorflow实现残差网络方式(mnist数据集)
May 26 Python
python使用自定义钉钉机器人的示例代码
Jun 24 Python
python写文件时覆盖原来的实例方法
Jul 22 Python
Matplotlib中rcParams使用方法
Jan 05 Python
Python LMDB库的使用示例
Feb 14 Python
详解pandas apply 并行处理的几种方法
Feb 24 Python
pytorch 如何使用float64训练
May 24 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的十大要点(上)
2009/02/04 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
php 浮点数比较方法详解
2017/05/05 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
探究python中open函数的使用
2016/03/01 Python
Python快速排序算法实例分析
2017/11/29 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
实习生自荐信范文
2013/11/13 职场文书
个人承诺书怎么写
2014/05/24 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
送达通知书
2015/04/25 职场文书
春风化雨观后感
2015/06/11 职场文书