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 获取et和excel的版本号
Apr 09 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
May 29 Python
python写入文件自动换行问题的方法
Jul 05 Python
Python无头爬虫下载文件的实现
Apr 02 Python
django教程如何自学
Jul 31 Python
详解python metaclass(元类)
Aug 13 Python
python实现移动木板小游戏
Oct 09 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
python生成随机数、随机字符、随机字符串
Apr 06 Python
Python函数中apply、map、applymap的区别
Nov 27 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
ThinkPHP连接Oracle数据库
2016/04/22 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
全面了解js中的script标签
2016/07/04 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
Node.js Domain 模块实例详解
2020/03/18 Javascript
python3中dict(字典)的使用方法示例
2017/03/22 Python
Python中static相关知识小结
2018/01/02 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
Django多数据库的实现过程详解
2019/08/01 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
Python实现壁纸下载与轮换
2020/10/19 Python
关于Python错误重试方法总结
2021/01/03 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
什么是.net
2015/08/03 面试题
运动会通讯稿400字
2014/01/28 职场文书
策划创业计划书
2014/02/06 职场文书
房产买卖委托公证书
2014/04/04 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
银行实习推荐信
2015/03/27 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
婚宴领导致辞
2015/07/28 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电