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数据类型_字符串常用操作(详解)
May 30 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
python爬取拉勾网职位数据的方法
Jan 24 Python
对numpy 数组和矩阵的乘法的进一步理解
Apr 04 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
Python递归函数实例讲解
Feb 27 Python
python多线程同步实例教程
Aug 11 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
python访问hdfs的操作
Jun 06 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
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
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
js如何验证密码强度
2020/03/18 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
使用python实现ANN
2017/12/20 Python
一看就懂得Python的math模块
2018/10/21 Python
django解决跨域请求的问题详解
2019/01/20 Python
Django models filter筛选条件详解
2020/03/16 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
自荐信格式技巧有哪些呢
2013/11/19 职场文书
网络工程师职业规划
2014/02/10 职场文书
高级工程师英文求职信
2014/03/19 职场文书
数据保密承诺书
2014/06/03 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
群众路线领导对照材料
2014/08/23 职场文书
师德师风自我评价范文
2014/09/11 职场文书
护士工作失误检讨书
2014/09/14 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
后备干部推荐材料
2014/12/24 职场文书
自荐信模板大全
2015/03/27 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
Python 统计序列中元素的出现频度
2022/04/26 Python