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实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python内置模块logging用法实例分析
Feb 12 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
python交易记录链的实现过程详解
Jul 03 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
Python切片列表字符串如何实现切换
Aug 06 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 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
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
php字符串截取的简单方法
2013/07/04 PHP
对于PHP 5.4 你必须要知道的
2013/08/07 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
详解python中的 is 操作符
2017/12/26 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python实现定时发送qq消息
2019/01/18 Python
Python字典的核心底层原理讲解
2019/01/24 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
python hough变换检测直线的实现方法
2019/07/12 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
Django返回HTML文件的实现方法
2020/09/17 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
更夫岗位责任制
2014/02/11 职场文书
市场部经理岗位职责
2014/04/10 职场文书
个人投资计划书
2014/05/01 职场文书
小学运动会入场口号
2015/12/24 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python